private static void DoSelection(CategoricalDefinition definition, int startRowIndex, int endRowIndex, int startColumnIndex, int endColumnIndex) { List <object> rowCategories; List <object> colCategories; GetRowAndColumnCategories(definition, startRowIndex, endRowIndex, startColumnIndex, endColumnIndex, out rowCategories, out colCategories); definition.SelectedItems.Clear(); foreach (var item in definition.ItemsSource) { object rowCategory = GetPropertyValue(item, definition.RowGroupMemberPath); object colCategory = GetPropertyValue(item, definition.ColumnGroupMemberPath); if (rowCategories.Contains(rowCategory) && colCategories.Contains(colCategory)) { definition.SelectedItems.Add(item); } } }
private static void GetRowAndColumnCategories(CategoricalDefinition definition, int startRowIndex, int endRowIndex, int startColumnIndex, int endColumnIndex, out List <object> rowCategories, out List <object> colCategories) { rowCategories = new List <object>(); colCategories = new List <object>(); foreach (var item in definition.ItemsSource) { object rowCategory = GetPropertyValue(item, definition.RowGroupMemberPath); object colCategory = GetPropertyValue(item, definition.ColumnGroupMemberPath); if (!rowCategories.Contains(rowCategory)) { rowCategories.Add(rowCategory); } if (!colCategories.Contains(colCategory)) { colCategories.Add(colCategory); } } rowCategories = rowCategories.GetRange(startRowIndex, endRowIndex - startRowIndex + 1); colCategories = colCategories.GetRange(startColumnIndex, endColumnIndex - startColumnIndex + 1); }
private static void DoSelection(CategoricalDefinition definition, int startRowIndex, int endRowIndex, int startColumnIndex, int endColumnIndex) { List<object> rowCategories; List<object> colCategories; GetRowAndColumnCategories(definition, startRowIndex, endRowIndex, startColumnIndex, endColumnIndex, out rowCategories, out colCategories); definition.SelectedItems.Clear(); foreach (var item in definition.ItemsSource) { object rowCategory = GetPropertyValue(item, definition.RowGroupMemberPath); object colCategory = GetPropertyValue(item, definition.ColumnGroupMemberPath); if (rowCategories.Contains(rowCategory) && colCategories.Contains(colCategory)) { definition.SelectedItems.Add(item); } } }
private static void GetRowAndColumnCategories(CategoricalDefinition definition, int startRowIndex, int endRowIndex, int startColumnIndex, int endColumnIndex, out List<object> rowCategories, out List<object> colCategories) { rowCategories = new List<object>(); colCategories = new List<object>(); foreach (var item in definition.ItemsSource) { object rowCategory = GetPropertyValue(item, definition.RowGroupMemberPath); object colCategory = GetPropertyValue(item, definition.ColumnGroupMemberPath); if (!rowCategories.Contains(rowCategory)) { rowCategories.Add(rowCategory); } if (!colCategories.Contains(colCategory)) { colCategories.Add(colCategory); } } rowCategories = rowCategories.GetRange(startRowIndex, endRowIndex - startRowIndex + 1); colCategories = colCategories.GetRange(startColumnIndex, endColumnIndex - startColumnIndex + 1); }