public static int GetGroupDescriptionIndexFromFieldName(DataGridContext dataGridContext, string fieldName, DropMarkAlignment alignment) { ObservableCollection <GroupDescription> groupDescriptions = dataGridContext.Items.GroupDescriptions; for (int i = groupDescriptions.Count - 1; i >= 0; i--) { if (DataGridContext.GetColumnNameFromGroupDescription(groupDescriptions[i]) == fieldName) { if (alignment == DropMarkAlignment.Far) { i++; } return(i); } } return(dataGridContext.Items.GroupDescriptions.Count); }
private bool IsGroupDescriptionAlreadyPresent(GroupDescription newGroupDescription, out string newGroupName) { newGroupName = DataGridContext.GetColumnNameFromGroupDescription(newGroupDescription); // We accept null or empty group names if (!string.IsNullOrEmpty(newGroupName)) { foreach (GroupDescription groupDescription in this.Items) { string groupName = DataGridContext.GetColumnNameFromGroupDescription(groupDescription); if (!string.IsNullOrEmpty(groupName)) { if (newGroupName == groupName) { return(true); } } } } return(false); }