예제 #1
0
        public static void AddNewGroupFromColumnManagerCell(ColumnManagerCell cell, GroupLevelDescription draggedOverDescription, DropMarkAlignment alignment, DataGridControl parentDataGridControl)
        {
            if (cell == null)
            {
                return;
            }

            DataGridContext cellDataGridContext = DataGridControl.GetDataGridContext(cell);
            DataGridControl cellParentGrid      = cellDataGridContext.DataGridControl;

            if ((cellDataGridContext == null) ||
                (parentDataGridControl == null) ||
                (parentDataGridControl != cellParentGrid))
            {
                return;
            }

            // By default, add it at the end
            int newPos = cellDataGridContext.GroupLevelDescriptions.Count;

            if (draggedOverDescription != null)
            {
                newPos = GroupingHelper.GetGroupDescriptionIndexFromFieldName(cellDataGridContext, draggedOverDescription.FieldName, alignment);
            }

            ColumnBase column = cell.ParentColumn;

            if (column != null)
            {
                GroupingHelper.AddNewGroupFromColumn(column, cellDataGridContext.Items.GroupDescriptions, newPos);
            }
        }