protected override void DropInColumnGroupsView( ColumnGroupsViewDefinition view, GridViewColumn column, RadPosition dropPosition) { GridViewDataColumn gridViewDataColumn = column as GridViewDataColumn; if (gridViewDataColumn != null) { if (this.ViewTemplate.AllowColumnReorder && this.GridViewGroupColumn.Group.Groups.Count == 0) { GridViewColumnGroupRow row = this.FindRow(view.ColumnGroups, (GridViewColumn)gridViewDataColumn); if (this.GridViewGroupColumn.Group != null && this.GridViewGroupColumn.Group.Rows.Count == 0 && (dropPosition & RadPosition.Bottom) != RadPosition.None) { this.GridViewGroupColumn.Group.Rows.Add(new GridViewColumnGroupRow()); } if (this.GridViewGroupColumn.Group != null && this.GridViewGroupColumn.Group.Rows.Count > 0) { if (row != null) { row.ColumnNames.Remove(gridViewDataColumn.Name); if (row.ColumnNames.Count == 0) { this.FindGroup(view.ColumnGroups, row)?.Rows.Remove(row); } } if ((dropPosition & RadPosition.Left) != RadPosition.None) { this.GridViewGroupColumn.Group.Rows[0].ColumnNames.Insert(0, gridViewDataColumn.Name); } else { this.GridViewGroupColumn.Group.Rows[0].ColumnNames.Add(gridViewDataColumn.Name); } } } if (!column.IsVisible && this.GridViewGroupColumn.Group.Groups.Count == 0) { column.IsVisible = true; } else { ColumnGroupRowLayout rowLayout = this.TableElement.ViewElement.RowLayout as ColumnGroupRowLayout; rowLayout.InvalidateLayout(); rowLayout.InvalidateRenderColumns(); this.TableElement.ViewElement.UpdateRows(true); } } else { if (!(column is GridViewGroupColumn)) { return; } this.DropColumnGroup(view, ((GridViewGroupColumn)column).Group, dropPosition); } }
private ColumnGroupCollection FindGroupCollection( ColumnGroupsViewDefinition view, GridViewColumnGroup group) { if (group.Parent != null) { return(group.Parent.Groups); } if (group.ParentViewDefinition == view) { return(view.ColumnGroups); } return((ColumnGroupCollection)null); }
private void DropColumnGroup( ColumnGroupsViewDefinition view, GridViewColumnGroup group, RadPosition dropPosition) { ColumnGroupCollection groupCollection1 = this.FindGroupCollection(view, this.GridViewGroupColumn.Group); ColumnGroupCollection groupCollection2 = this.FindGroupCollection(view, group); int index = groupCollection1.IndexOf(this.GridViewGroupColumn.Group); if (groupCollection1 == groupCollection2 && groupCollection2 != null && groupCollection2.IndexOf(group) < index) { --index; } if (group.Parent != null) { group.Parent.Groups.Remove(group); } else { view.ColumnGroups.Remove(group); } if ((dropPosition & RadPosition.Bottom) != RadPosition.None && this.GridViewGroupColumn.Group.Rows.Count == 0) { this.GridViewGroupColumn.Group.Groups.Add(group); } else if ((dropPosition & RadPosition.Left) != RadPosition.None) { groupCollection1.Insert(index, group); } else if (index < groupCollection1.Count - 1) { groupCollection1.Remove(group); groupCollection1.Insert(index + 1, group); } else { groupCollection1.Add(group); } if (!group.IsVisible) { group.IsVisible = true; } ColumnGroupRowLayout rowLayout = this.TableElement.ViewElement.RowLayout as ColumnGroupRowLayout; rowLayout.InvalidateLayout(); rowLayout.InvalidateRenderColumns(); this.TableElement.ViewElement.UpdateRows(true); }
protected override void OnDoubleClick(EventArgs e) { base.OnDoubleClick(e); if (this.ColumnInfo != null) { if (this.ColumnInfo.OwnerTemplate != null) { ColumnGroupsViewDefinition viewDefinition = this.ColumnInfo.OwnerTemplate.ViewDefinition as ColumnGroupsViewDefinition; if (viewDefinition != null && viewDefinition.FindGroup(this.ColumnInfo) == null) { return; } } this.ColumnInfo.IsVisible = true; } if (this.group == null) { return; } this.group.IsVisible = true; }
public override void Dispose() { this.viewDefinition = (ColumnGroupsViewDefinition)null; base.Dispose(); }
public ColumnGroupRowLayout(ColumnGroupsViewDefinition viewDefinition) { this.viewDefinition = viewDefinition; }
public ColumnGroupCollection(ColumnGroupsViewDefinition viewDefinition) { this.ownerDefinition = viewDefinition; }