private void ColumnFilterAdding(object sender, ColumnFilterEventArgs e) { if (e.Column.Name == "Type") { e.ColumnFilter = new DgvComboBoxColumnFilter(); } }
void fm_PopupShowing(object sender, ColumnFilterEventArgs e) { DgvFilterManager fm = ((DgvFilterManager)sender); Rectangle HeaderRectangle = fm.DataGridView.GetCellDisplayRectangle(e.Column.Index, -1, true); //Show the popup under the column header fm.FilterHost.Popup.Show(fm.DataGridView, HeaderRectangle.Left, HeaderRectangle.Bottom); e.Handled = true; }
void fm_ColumnFilterAdding(object sender, ColumnFilterEventArgs e) { switch (e.Column.Name) { case "ShipVia": case "OrderDate": case "Freight": e.ColumnFilter = new DgvComboBoxColumnFilter(); break; } }
void fm_ColumnFilterAdding(object sender, ColumnFilterEventArgs e) { switch (e.Column.Name) { case "ShipName": case "ShipAdress": e.ColumnFilter = new DgvMultiTextBoxColumnFilter(); break; case "ShipVia": case "OrderDate": case "Freight": e.ColumnFilter = new DgvMultiCheckBoxColumnFilter(); break; } }
void fm_ColumnFilterAdding(object sender, ColumnFilterEventArgs e) { e.ColumnFilter = new DgvComboBoxColumnFilter(); }
void ColumnFilterAdding(object sender, ColumnFilterEventArgs e) { switch (e.Column.Name) { case "Type": e.ColumnFilter = new DgvComboBoxColumnFilter(); break; } }
private void CreateColumnFilter(DataGridViewColumn c) { if (!mAutoCreateFilters) return; //Raise the event about column filter creation ColumnFilterEventArgs e = new ColumnFilterEventArgs(c,null); if (ColumnFilterAdding != null) ColumnFilterAdding(this, e); //if not provided, by an event handler, proceed with standard filter creation if (e.ColumnFilter==null) { Type DataType = null; if (c.DataPropertyName != "") { DataType = mBoundDataView.Table.Columns[c.DataPropertyName].DataType; switch (c.GetType().Name) { case "DataGridViewComboBoxColumn": e.ColumnFilter = new DgvComboBoxColumnFilter(); break; case "DataGridViewCheckBoxColumn": e.ColumnFilter = new DgvCheckBoxColumnFilter(); break; case "DataGridViewTextBoxColumn": if (DataType == typeof(DateTime)) { e.ColumnFilter = new DgvDateColumnFilter(); } else e.ColumnFilter = new DgvTextBoxColumnFilter(); break; } } } mColumnFilterList[c.Index] = e.ColumnFilter; if (e.ColumnFilter != null) { // == null when non-data column if (ColumnFilterAdded != null) ColumnFilterAdded(this, e); e.ColumnFilter.Init(this, FilterHost, c, mBoundDataView); } }
/// <summary> /// Shows the popup. /// </summary> /// <param name="ColumnIndex">Index of the column.</param> public void ShowPopup(int ColumnIndex) { if (mColumnFilterList[ColumnIndex] == null) return; // non-data column int OldColumnIndex = mCurrentColumnIndex; mCurrentColumnIndex = ColumnIndex; Rectangle r = mDataGridView.GetCellDisplayRectangle(ColumnIndex, -1, false); // get the header size info FilterHost.CurrentColumnFilter = mColumnFilterList[ColumnIndex]; try { //use "try" because old column could have been removed mDataGridView.InvalidateCell(OldColumnIndex, -1); } catch { } ColumnFilterEventArgs e = new ColumnFilterEventArgs(mDataGridView.Columns[ColumnIndex], mColumnFilterList[ColumnIndex]); if (PopupShowing != null) PopupShowing(this, e); if (!e.Handled) FilterHost.Popup.Show(mDataGridView, r.X + r.Width - 4, r.Y - 10); // show the filterhost popup near the column FilterHost.Popup.Focus(); mDataGridView.InvalidateCell(mCurrentColumnIndex, -1); // Force header repaint (to show a selection yellow frame) }