Как я могу получить текст фильтра в событии NeedDataSource в RadGrid с пользовательской подкачки
Я использую пользовательский пейджинг в RadGrid. Работает нормально. Но фильтр не работает, как я хочу. Поэтому я подумал о написании собственного кода для фильтра. Но как я могу получить текст фильтра и столбец, для которого фильтр был применен в событии NeedDataSource.
2 ответа
Я получил ответ, но я забыл обновить здесь. Виноват...
Ответ: gridObject.MasterTableView.FilterExpression
, В этом свойстве сетки все фильтры объединены в строку. эта строка содержит заголовки столбцов и фильтр, примененный через запятую ,
, Вы можете разделить это и работать над этим.
Я нашел другой способ, который я обнаружил благодаря ответу ckr здесь. Вы должны сделать это для каждой интересующей вас фильтруемой колонки:
var filterValue = rgFilterPoints.MasterTableView.GetColumn("YourColumnName").CurrentFilterValue;
Другой вариант, если вы оказались в событии, у которого параметр EventArgs имеет Item
(лайк GridCommandEventArgs
), вы можете использовать это:
((GridTableCell)e.Item.Cells[5]).Column.CurrentFilterValue
В этом случае вам нужно использовать индекс столбца. Осторожно, в начале есть несколько "скрытых" столбцов, поэтому в этом примере я обращаюсь к 4-му столбцу в разметке.