/ / Как да филтрирам UltraGrid въз основа на членство в колекция - vb.net, infragistics, ultragrid

Как да филтрирам UltraGrid въз основа на членство в колекция - vb.net, infragistics, ultragrid

Понастоящем работя по програма, която използва къде трябва да филтрирам UltraGrid въз основа на няколко различни условия.

Проблемът ми е, че все още не съм намерил начин да го направяизразяват едно от условията във филтъра. Искам едно от условията да кажа "ако стойността в този ред е член на определена колекция, върнете се вярно".

Така например, ако моята група е масив [1, 2, 3, 4, 5], няколко примерни резултата ще бъдат:

value = 1: True
value = 2: True
value = 6: False
value = -1: False

Някой знае ли за един прост начин да направи това, което пренебрегвам? Предпочитам да не създавам персонализиран филтър, ако това е възможно. Страница за филтриране изглежда съвпада с това, което търся.

Отговори:

2 за отговор № 1

Добре, трябваше да прочета повече внимателно за това. Изглежда, че всяка UltraGridBand съдържа ColumnFiltersCollection. Така че, за да получите желаното поведение, можете да създадете отделни ColumnFilters за всяко желано условие. В този случай едно условие ще бъде определено като:

Dim columnFilter As ColumnFilter
columnFilter.LogicalOperator = FilterLogicalOperator.Or

For Each element In MyCollection
columnFilter.FilterConditions.Add(FilterComparisionOperator.Equals, element)
Next

и тогава можете да направите:

Band.ColumnFilters.Add(columnFilter)
Band.ColumnFilters.Add(otherColumnFilter1)
Band.ColumnFilters.Add(otherColumnFilter2)
Band.ColumnFilters.Add(otherColumnFilter3)

Вижте документацията (конкретно Забележки) тук, Също така този код вероятно не е 100% правилен - не го тества още. Трябва да получите идеята все пак.