2014-12-18 2 views
0

Я использую devexpress XtraGrid. Если бы я отфильтровал эту сетку, используя значение, относящееся к определенному столбцу, я хочу получить этот столбец и значения в C#. Может ли любое тело помочь ???Получение элементов фильтра XtraGrid

С уважением

+0

Как вы фильтруете свою сетку? Отправьте некоторый код и более подробно расскажите о своем вопросе/необходимости. –

+0

Я фильтрую во время выполнения. Вы просто переходите в нужный столбец, нажимаете на него, элементы отображаются, вы выбираете и элемент, а вся сетка фильтруется этим элементом. например, вы выбираете значение «Motor» в столбце «Vehicle», и в результате все записи указывают тип транспортного средства = «Motor» – khidir

+0

, так что вы думаете? –

ответ

0

Похоже, что вам нужно GridView.ActiveFilter.Criteria недвижимость.

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

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

Это будет что-то вроде строки [columnName] = columnValue, и разбор ее не проблема.

В сложных случаях (когда это дерево реальных выражений) вы можете создать свой собственный класс с реализованным интерфейсом IClientCriteriaVisitor и обработать дерево выражений методом CriteriaOperator.Accept.

См. Пример такой реализации хода here.

+0

да, моя ситуация проста, я просто хочу получить строку фильтра. Результат GridView.ActiveFilterString также получает результат. Большое спасибо :) – khidir

Смежные вопросы