Example #1
0
        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));
                    }
                }
            }
        }
Example #2
0
        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();
            }
        }
Example #3
0
        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;
            }
        }
Example #4
0
 public ColumnHeaderCellEventArgs(ColumnMenu filterMenu, DataGridViewColumn column)
 {
     FilterMenu = filterMenu;
     Column     = column;
 }