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
к вашему объекту и делайте все, что вам нужно сделать.