public GridColumn() { Container = new GridFrame(); Header = new GridColumnHeader(); Header.Style = "button"; Header.MouseClick += Header_MouseClick; Container.Header = Header; Header.Column = this; }
void Init(UIElement source) { GridColumnHeader = ((GridColumnHeader)source); ISupportDragDrop iSupportDragDrop = GridColumnHeader; SourceElement = iSupportDragDrop.SourceElement; Column = (GridColumn)GridColumnHeader.GetGridColumn(GridColumnHeader); ColumnsLayoutControl = BandedViewBehavior.GetColumnsLayoutControl(Column); View = (TableView)Column.View; }
private void ClearSortExcept(GridColumnHeader clickedHeader) { var headers = grid.FindVisualChildren<GridColumnHeader>(); foreach (var header in headers) { if (header == clickedHeader) continue; HideIndicator(header); } }
public override void Drop(System.Windows.UIElement source, System.Windows.Point pt) { GridColumnHeader columnHeader = source as GridColumnHeader; GridColumn column = columnHeader.DataContext as GridColumn; TableView view = column.View as TableView; if (!view.Grid.Columns.Contains(column)) { return; } base.Drop(source, pt); }
protected override void MoveColumnTo(UIElement source, int dropIndex) { GridColumnHeader gch = source as GridColumnHeader; if (string.Equals(gch.Tag, "external")) { ((MyTableView)GridView).InsertCustomColumn((GridColumn)gch.DataContext, dropIndex + DropIndexCorrection); } else { base.MoveColumnTo(source, dropIndex); } }
private void ClearSortExcept(GridColumnHeader clickedHeader) { var headers = grid.FindVisualChildren <GridColumnHeader>(); foreach (var header in headers) { if (header == clickedHeader) { continue; } HideIndicator(header); } }
private void View_ShowGridMenu(object sender, GridMenuEventArgs e) { if (e.MenuType == GridMenuType.Column) { GridColumnHeader columnHeader = e.TargetElement as GridColumnHeader; GridColumn column = columnHeader.DataContext as GridColumn; bool allowEditColumnHeader = GetAllowEditHeader(column); BarButtonItem item = new BarButtonItem(); item.Content = allowEditColumnHeader ? "Hide ColumnHeader Editor" : "Show ColumnHeader Editor"; item.ItemClick += Item_ItemClick; item.Tag = new object[] { column, columnHeader }; e.Customizations.Add(item); } }
/// <summary> /// Handles dropping non-grid data on a grid column header /// </summary> /// <param name="e"></param> /// <param name="header"></param> /// <param name="pt"></param> private void DropColumnHeader( DragEventArgs e, GridColumnHeader header, Point pt) { GridColumn column = header.GetHitColumn(pt); if (column != null) { GridPanel panel = column.GridPanel; GridRow row = new GridRow(); panel.Rows.Add(row); if (e.Data.GetDataPresent(typeof(string)) == true) { string s = (string)e.Data.GetData(typeof(string)); DropTextRow(row, s.Split(',')); } else if (e.Data.GetDataPresent(typeof(TreeNode)) == true) { TreeNode tnode = (TreeNode)e.Data.GetData(typeof(TreeNode)); DropTextRow(row, tnode.Text.Split(',')); } else if (e.Data.GetDataPresent(typeof(Node)) == true) { Node node = (Node)e.Data.GetData(typeof(Node)); DropNodeRow(row, node.Cells); } else if (e.Data.GetDataPresent(typeof(Node[])) == true) { Node[] nodes = (Node[])e.Data.GetData(typeof(Node[])); foreach (Node node in nodes) { if (row == null) { row = new GridRow(); panel.Rows.Add(row); } DropNodeRow(row, node.Cells); row = row.NextVisibleRow as GridRow; } } } }
public new void Drop(UIElement source, Point pt) { GridColumnHeader columnHeader = source as GridColumnHeader; GridColumn column = columnHeader.DataContext as GridColumn; TableView view = column.View as TableView; if (!view.Grid.Columns.Contains(column)) { return; } MethodInfo method = typeof(ColumnChooserDropTarget).GetMethod("DropColumn", BindingFlags.Instance | BindingFlags.NonPublic); method.Invoke(this, new object[] { source }); }
private void Item_ItemClick(object sender, ItemClickEventArgs e) { object[] objs = (object[])e.Item.Tag; GridColumn column = (GridColumn)objs[0]; SetAllowEditHeader(column, !GetAllowEditHeader(column)); if (GetAllowEditHeader(column)) { GridColumnHeader header = (GridColumnHeader)objs[1]; TextEdit te = LayoutTreeHelper.GetVisualChildren(header).OfType <TextEdit>().FirstOrDefault(); Dispatcher.BeginInvoke(new Action(() => { te.Focus(); te.SelectAll(); te.LostFocus += Te_LostFocus; }), DispatcherPriority.Normal); } }
/// <summary> /// Handles dropping data onto a ColumnHeader /// </summary> /// <param name="item"></param> /// <param name="items"></param> /// <param name="pt"></param> private void DropSgColumnHeader(GridColumnHeader item, IEnumerable <GridElement> items, Point pt) { GridColumn column = item.GetHitColumn(pt); if (column != null) { if (_SrcElement is GridColumn) { DropSgColumns(column, items); } else { DropSgPanel(item.GridPanel, items); } } }
private void GridColumnHeader_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if (e.ClickCount == 2) { GridColumnHeader header = LayoutHelper.FindParentObject <GridColumnHeader>((DependencyObject)e.OriginalSource); GridColumn gc = (GridColumn)header.DataContext; List <ColumnBase> lst = new List <ColumnBase>(gc.View.ColumnChooserColumns); for (int i = 0; i < lst.Count; i++) { if (gc.ActualColumnChooserHeaderCaption == lst[i].ActualColumnChooserHeaderCaption) { lst[i].Visible = true; break; } } } }
public c_grid_header(c_batchlist_grid grid) : base(grid) { Files = new GridColumnHeader(grid.Row.Files); Notes = new GridColumnHeader(grid.Row.Notes); Selected = new CheckBoxColumnFilter(grid.Row.Selected); AUScheduleHistory__ScheduleID = new PXTextEditColumnFilter(grid.Row.AUScheduleHistory__ScheduleID); AUScheduleHistory__ExecutionDate = new DateSelectorColumnFilter(grid.Row.AUScheduleHistory__ExecutionDate); AUScheduleHistory__ExecutionResult = new PXTextEditColumnFilter(grid.Row.AUScheduleHistory__ExecutionResult); AUScheduleHistory__Ticks = new PXNumberEditColumnFilter(grid.Row.AUScheduleHistory__Ticks); AUScheduleHistory__ScheduleID_Description = new PXTextEditColumnFilter(grid.Row.AUScheduleHistory__ScheduleID_Description); Module = new DropDownColumnFilter(grid.Row.Module); BatchNbr = new SelectorColumnFilter(grid.Row.BatchNbr); LedgerID = new SelectorColumnFilter(grid.Row.LedgerID); DateEntered = new DateSelectorColumnFilter(grid.Row.DateEntered); LastModifiedByID_Modifier_Username = new PXTextEditColumnFilter(grid.Row.LastModifiedByID_Modifier_Username); FinPeriodID = new SelectorColumnFilter(grid.Row.FinPeriodID); ControlTotal = new PXNumberEditColumnFilter(grid.Row.ControlTotal); Description = new PXTextEditColumnFilter(grid.Row.Description); }
void IDropTarget.Drop(UIElement source, Point pt) { ColumnBase dropColumn = GetColumnByDragElement(source); if (dropColumn.Visible) { Point bottomLinePrevElement = new Point(0, 0); ColumnList list = LayoutHelper.FindParentObject <ColumnList>(source as DependencyObject) as ColumnList; GridColumnHeader bottomColumnHeader = null; bottomColumnHeader = (GridColumnHeader)LayoutHelper.FindElement(list, new Predicate <FrameworkElement>(delegate(FrameworkElement element) { return((element is GridColumnHeader) && PointOnColumn(list, element, pt, ref bottomLinePrevElement)); })); ColumnBase bottomColumn = GetColumnByDragElement(bottomColumnHeader); dropColumn.VisibleIndex = bottomColumn.VisibleIndex; } else { dropColumn.Visible = true; } }
/// <summary> /// This routine shows a simple example of processing /// the MouseClick in the style defined header image. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SuperGridControl1ColumnHeaderClick( object sender, GridColumnHeaderClickEventArgs e) { GridColumnHeader header = e.GridPanel.ColumnHeader; Rectangle r = header.GetImageBounds(e.GridColumn); Point pt = MousePosition; pt = e.GridColumn.SuperGrid.PointToClient(pt); // If the user clicked in the header image, then instead // of sorting the column, let's redefine every cell in the // column to contain a visible state pattern. if (r.Contains(pt) == true) { int k = (int)header.Tag; header.Tag = ++k; for (int i = 0; i < e.GridPanel.Rows.Count; i++) { GridRow row = e.GridPanel.Rows[i] as GridRow; if (row != null) { int n = (k + i) % 8; if ((k + i) % 16 >= 8) { n = 8 - n; } row.Cells[3].Value = "0,1,2,3,4,3,2,1,0".Substring(n << 1); } } e.Cancel = true; } }
/// <summary> /// Gives column 3 (Process State) some extra feedback /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SuperGridControl1MouseMove(object sender, MouseEventArgs e) { SuperGridControl sg = sender as SuperGridControl; if (sg != null) { GridColumnHeader header = sg.GetElementAt(e.Location) as GridColumnHeader; if (header != null) { Point pt = header.SuperGrid.PointToClient(MousePosition); GridColumn column = header.GetHitColumn(pt); if (column != null && column.ColumnIndex == 3) { Rectangle r = header.GetImageBounds(column); if (r.Contains(pt) == true) { if (column.HeaderStyles.MouseOver.ImageIndex < 0) { column.HeaderStyles.MouseOver.ImageIndex = 7; } } else { if (column.HeaderStyles.MouseOver.ImageIndex >= 0) { column.HeaderStyles.MouseOver.ImageIndex = -1; } } } } } }
protected override void MoveColumnTo(UIElement source, int dropIndex) { GridColumnHeader gch = source as GridColumnHeader; GridView.MoveColumnTo((ColumnBase)gch.DataContext, dropIndex + DropIndexCorrection, BaseGridColumnHeader.GetHeaderPresenterTypeFromGridColumnHeader(source), BaseGridColumnHeader.GetHeaderPresenterTypeFromLocalValue(AdornableElement)); }
void Init(UIElement source) { if(source is GridColumnHeader) { GridColumnHeader = ((GridColumnHeader)source); ISupportDragDrop iSupportDragDrop = GridColumnHeader; SourceElement = iSupportDragDrop.SourceElement; Column = (GridColumn)GridColumnHeader.GetGridColumn(GridColumnHeader); ColumnsLayoutControl = BandedViewBehavior.GetColumnsLayoutControl(Column); View = (TableView)Column.View; } }