private void cell_FilterPopup(object sender, ColumnHeaderCellEventArgs e) { if (Columns.Contains(e.Column)) { ColumnMenu filterMenu = e.FilterMenu; DataGridViewColumn column = e.Column; System.Drawing.Rectangle rect = GetCellDisplayRectangle(column.Index, -1, true); if (filteredColumns.Contains(column.Name)) { filterMenu.Show(this, rect.Left, rect.Bottom, false); } else { filteredColumns.Add(column.Name); if (filterorderList.Count() > 0 && filterorderList.Last() == column.Name) { filterMenu.Show(this, rect.Left, rect.Bottom, true); } else { filterMenu.Show(this, rect.Left, rect.Bottom, ColumnMenu.GetValuesForFilter(this, column.Name)); } } } }
private void cell_SortChanged(object sender, ColumnHeaderCellEventArgs e) { if (Columns.Contains(e.Column)) { ColumnMenu filterMenu = e.FilterMenu; DataGridViewColumn column = e.Column; sortorderList.Remove(column.Name); if (filterMenu.ActiveSortType != ColumnMenu.SortType.None) { sortorderList.Add(column.Name); } SortString = BuildSortString(); } }
public ColumnHeader(DataGridViewColumnHeaderCell cell, bool filterEnabled) { Tag = cell.Tag; ErrorText = cell.ErrorText; ToolTipText = cell.ToolTipText; Value = cell.Value; ValueType = cell.ValueType; ContextMenuStrip = cell.ContextMenuStrip; Style = cell.Style; _filterEnabled = filterEnabled; ColumnHeader oldCellt = cell as ColumnHeader; if (oldCellt != null && oldCellt.MenuStrip != null) { MenuStrip = oldCellt.MenuStrip; _filterImage = oldCellt._filterImage; _filterButtonPressed = oldCellt._filterButtonPressed; _filterButtonOver = oldCellt._filterButtonOver; _filterButtonOffsetBounds = oldCellt._filterButtonOffsetBounds; _filterButtonImageBounds = oldCellt._filterButtonImageBounds; MenuStrip.FilterChanged += new EventHandler(menuStrip_FilterChanged); MenuStrip.SortChanged += new EventHandler(menuStrip_SortChanged); MenuStrip.HexChanged += new EventHandler(menuStrip_HexChanged); MenuStrip.HideChanged += new EventHandler(menuStrip_HideChanged); } else { MenuStrip = new ColumnMenu(cell.OwningColumn.ValueType); MenuStrip.FilterChanged += new EventHandler(menuStrip_FilterChanged); MenuStrip.SortChanged += new EventHandler(menuStrip_SortChanged); MenuStrip.HexChanged += new EventHandler(menuStrip_HexChanged); MenuStrip.HideChanged += new EventHandler(menuStrip_HideChanged); MenuStrip.IsSortEnabled = true; MenuStrip.IsFilterEnabled = true; } }
public ColumnHeaderCellEventArgs(ColumnMenu filterMenu, DataGridViewColumn column) { FilterMenu = filterMenu; Column = column; }