//Заполняет CheckBoxList коллекцией всех строк из DataRow без учета фильтра private void FillFilterBox(string column, FilterControl control) { var rowFilter = GetFilterExpression(true); DataView.RowFilter = rowFilter; var dataRowsView = DataView.OfType <DataRowView>(); var rowViewCollection = dataRowsView.Select(row => row[column].ToString()).Distinct(); control.Items.Clear(); foreach (var item in rowViewCollection) { control.Items.Add(item); } }
//ставит галочки в CheckBoxList item private void SelectFilterBoxItems(IEnumerable <DataRow> dataRows, string column, FilterControl control) { var elementsForCheck = dataRows.Select(row => row[column].ToString()).Distinct().ToList <string>(); if (elementsForCheck is List <string> ) { control.FilterData = elementsForCheck; } }