Как скрыть определенный столбец, если пользователь выбирает фильтр, сортировку или группировку в xtraGridView Devexpress Windows Form

Как скрыть определенный столбец, если пользователь выбирает фильтр, сортировку или группировку в xtraGridView Devexpress Windows Form

Я сделал что-то подобное

 private void gridView1_GridMenuItemClick(object sender, GridMenuItemClickEventArgs e)
        {
            //WHEN TO DISPALY CLBAL COL AND WHEN NOT
            if (e.DXMenuItem.Caption.Equals("Group By This Column") || e.DXMenuItem.Caption.Equals("Sort Ascending") || e.DXMenuItem.Caption.Equals("Sort Descending")
                                            || e.DXMenuItem.Caption.Equals("Group By This Column") || e.DXMenuItem.Caption.Equals("Show Auto Filter Row"))
            {

                gridColumn16.Visible = false;
            }
            else if (e.DXMenuItem.Caption.Equals("Clear Grouping") || e.DXMenuItem.Caption.Equals("Clear All Sorting"))
            {
                gridColumn16.Visible = true;
            }

        }

У меня есть группировка и сортировка, но как узнать, когда пользователь выполняет фильтрацию из заголовка столбца


person Laxman    schedule 21.08.2015    source источник
comment
Добро пожаловать в Stackoverflow. Поделитесь кодом, который вы уже пробовали.   -  person Nagama Inamdar    schedule 21.08.2015


Ответы (1)


Вы можете использовать события уровня GridView для настройки макета сетки, когда к сетке применяется фильтр. Например, событие ColumnFilterChanged

gridView1.ColumnFilterChanged += (s, e) => { gridView1.Columns[0].Visible = false; };

Однако это событие должно срабатывать при любых изменениях фильтра, т. е. из кода, из строки фильтра строки автофильтра и т. д.

Не существует универсального способа узнать, какой элемент пользовательского интерфейса вызвал изменения фильтра, но вы можете использовать события на основе пользовательского интерфейса (например, отображение всплывающего окна фильтра или активация редактора в строке автоматического фильтра) для выполнения этой задачи.

person Nikita K    schedule 21.08.2015
comment
есть ли способ узнать, выполняет ли пользователь какую-либо операцию, выполняет ли он группировку, фильтрацию или сортировку - person Laxman; 21.08.2015
comment
как снова показать столбец, когда пользователь очищает параметр фильтра - person Laxman; 21.08.2015