示例#1
0
 private void ColumnFilterAdding(object sender, ColumnFilterEventArgs e)
 {
     if (e.Column.Name == "Type")
     {
         e.ColumnFilter = new DgvComboBoxColumnFilter();
     }
 }
示例#2
0
        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;
        }
示例#3
0
 void fm_ColumnFilterAdding(object sender, ColumnFilterEventArgs e)
 {
     switch (e.Column.Name)
     {
     case "ShipVia":
     case "OrderDate":
     case "Freight":
         e.ColumnFilter = new DgvComboBoxColumnFilter();
         break;
     }
 }
示例#4
0
        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)
        {
            switch (e.Column.Name)
            {
                case "ShipName":
                case "ShipAdress":
                    e.ColumnFilter = new DgvMultiTextBoxColumnFilter();
                    break;

                case "ShipVia":
                case "OrderDate":
                case "Freight":
                    e.ColumnFilter = new DgvMultiCheckBoxColumnFilter();
                    break;
            }
        }
示例#6
0
 void fm_ColumnFilterAdding(object sender, ColumnFilterEventArgs e)
 {
     e.ColumnFilter = new DgvComboBoxColumnFilter();
 }
 void fm_ColumnFilterAdding(object sender, ColumnFilterEventArgs e)
 {
     e.ColumnFilter = new DgvComboBoxColumnFilter();
 }
示例#8
0
 void ColumnFilterAdding(object sender, ColumnFilterEventArgs e)
 {
     switch (e.Column.Name)
     {
         case "Type":
             e.ColumnFilter = new DgvComboBoxColumnFilter();
             break;
     }
 }
示例#9
0
        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);
            }
        }
示例#10
0
        /// <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)
        }