Infragisitcs Ультраприводные колонкибылочные и колоночные фильтры

У меня есть InfraGistics UltraWinGrid, и я использую встроенный переключатель колонок.

Однако существует проблема, из-за которой, если у пользователя есть фильтр для определенного столбца, а затем он скрывается, этот фильтр все равно применяется к данным.

Я ожидаю, что если столбец скрыт, то его фильтр больше не должен применяться ИЛИ я, по крайней мере, смогу установить это каким-либо образом.

Я посмотрел и не могу найти способ сделать это. Есть идеи?

2 ответа

Решение

Когда столбец скрыт, UltraWinGrid.AfterColPosChanged событие запущено. Аргументы события не сообщают вам, в каком столбце изменилась его позиция (т.е. скрыта), поэтому проще всего сделать итерацию по столбцам и очистить фильтры от любых скрытых столбцов.

private void grid_AfterColPosChanged(object sender, AfterColPosChangedEventArgs e)
{
    foreach (UltraGridBand band in grid.DisplayLayout.Bands)
    {
       foreach (ColumnFilter filter in band.ColumnFilters)
       {
            if (filter.Column.Hidden)
            {
                filter.ClearFilterConditions();
            }
       }
   }
{

Неуклюжий, но это работает.

Ручка скрытия столбца; просто связать Column.Hidden к вашему объекту и делайте все, что вам нужно сделать.

Другие вопросы по тегам