文章分類/Infragistics
如果要在 XamDataGrid 中的程式碼中進行篩選,並且只想保留那些與特定列中的多個條件之一相符的內容,請使用跨欄位記錄篩選功能。
例如,如果您想將「部門」列中的值保留為「人力資源」或「管理」並過濾其他值,
1. 在 XamDataGrid 的 FieldSettings 中將 AllowCrossFieldRecordFiltering 設定為 True 以啟用跨欄位記錄篩選功能。
2. 為 FieldLayout 配置 CrossFieldRecordFilters。
<igDP:XamDataGrid ...> <igDP:XamDataGrid.FieldSettings> <igDP:FieldSettings AllowCrossFieldRecordFiltering="True" /> </igDP:XamDataGrid.FieldSettings> ... </igDP:XamDataGrid>
// CrossFieldRecordFilterGroupのインスタンスを作成する。 // この中に入る各フィルター条件を"OR"で評価する設定をする。 CrossFieldRecordFilterGroup filterGroup = new CrossFieldRecordFilterGroup(); filterGroup.LogicalOperator = Infragistics.Windows.Controls.LogicalOperator.Or; // "department"列の値が"人事"と等しいものというフィルター条件を作成し、CrossFieldRecordFilterGroupに追加する。 CrossFieldRecordFilter filter1 = new CrossFieldRecordFilter() { FieldName = "department", Operator = Infragistics.Windows.Controls.ComparisonOperator.Equals, Operand = "人事" }; filterGroup.Filters.Add(filter1); // 同様に、"事務"と等しいものというフィルター条件を作成し、CrossFieldRecordFilterGroupに追加する。 CrossFieldRecordFilter filter2 = new CrossFieldRecordFilter() { FieldName = "department", Operator = Infragistics.Windows.Controls.ComparisonOperator.Equals, Operand = "事務" }; filterGroup.Filters.Add(filter2); // CrossFieldRecordFilterGroupをFieldlayoutのCrossFieldRecordFiltersとして設定する。 fieldLayout1.CrossFieldRecordFilters = filterGroup;