private void BuildBandCol(BandColumn bandColumn, List <BandLayoutField> list, DataTable table) { if (bandColumn.Columns != null && bandColumn.Columns.Count > 0) { List <BandLayoutField> subList = new List <BandLayoutField>(); list.Add(new BandLayoutField(bandColumn.Name, subList)); foreach (var item in bandColumn.Columns) { BuildBandCol(item, subList, table); } } else { list.Add(new BandLayoutField(bandColumn.Name) { Field = new LayoutField(table.Columns[bandColumn.Name], TableIndex) }); } }
private void BuildBandHideCol(BandColumn bandColumn, List <BandLayoutField> list, DataTable table, HashSet <string> exist) { if (bandColumn.Columns != null && bandColumn.Columns.Count > 0) { foreach (var item in bandColumn.Columns) { BuildBandHideCol(item, list, table, exist); } } else { if (!exist.Contains(bandColumn.Name)) { list.Add(new BandLayoutField(bandColumn.Name) { Field = new LayoutField(table.Columns[bandColumn.Name], TableIndex) { Hidden = true } }); } } }