Я использую devexpress XtraGrid. Если бы я отфильтровал эту сетку, используя значение, относящееся к определенному столбцу, я хочу получить этот столбец и значения в C#. Может ли любое тело помочь ???Получение элементов фильтра XtraGrid
С уважением
Я использую devexpress XtraGrid. Если бы я отфильтровал эту сетку, используя значение, относящееся к определенному столбцу, я хочу получить этот столбец и значения в C#. Может ли любое тело помочь ???Получение элементов фильтра XtraGrid
С уважением
Похоже, что вам нужно GridView.ActiveFilter.Criteria
недвижимость.
Он возвращает CriteriaOperator, который является фактически деревом выражения (только потому, что фильтрация сетчатого фильтра DevExpress может быть сложной - не одним столбцом).
В вашем простом случае (фильтрация по одному значению в одном столбце) вы можете просто преобразовать его в строку на .ToString()
, а затем проанализировать строку, которую вы получите.
Это будет что-то вроде строки [columnName] = columnValue
, и разбор ее не проблема.
В сложных случаях (когда это дерево реальных выражений) вы можете создать свой собственный класс с реализованным интерфейсом IClientCriteriaVisitor
и обработать дерево выражений методом CriteriaOperator.Accept
.
См. Пример такой реализации хода here.
да, моя ситуация проста, я просто хочу получить строку фильтра. Результат GridView.ActiveFilterString также получает результат. Большое спасибо :) – khidir
Как вы фильтруете свою сетку? Отправьте некоторый код и более подробно расскажите о своем вопросе/необходимости. –
Я фильтрую во время выполнения. Вы просто переходите в нужный столбец, нажимаете на него, элементы отображаются, вы выбираете и элемент, а вся сетка фильтруется этим элементом. например, вы выбираете значение «Motor» в столбце «Vehicle», и в результате все записи указывают тип транспортного средства = «Motor» – khidir
, так что вы думаете? –