Dim fcs As FilterColumnSettings = Me.MyDataGrid.Columns.DataColumns("ProductID").FilterColumnSettings fcs.RowFilterOperands.Remove(ComparisonOperator.Equals)
xamGrid コントロールの代わりに xamDataGrid コントロールを使用してください。xamGrid は数年以内に廃止する予定のため、新しい機能の追加はありません。xamGrid のサポートおよび重要なバグ修正は廃止時まで提供されます。コードベースの xamDataGrid への移動に関する質問は、サポートまでお問い合わせください。
特定のフィルター オペランドを削除
xamGrid コントロールのフィルター機能は、デフォルトで様々なオペランドを提供します。ただし、エンドユーザーに特定のオペランドでフィルターを実行させたくない状況があります。 FilterColumnSettings オブジェクトの RowFilterOperands コレクションからオペランドを削除することによって、フィルター行から特定のフィルター オペランドを削除できます。
次のコードは、これを実現する方法を示しています。
Visual Basic の場合:
Dim fcs As FilterColumnSettings = Me.MyDataGrid.Columns.DataColumns("ProductID").FilterColumnSettings fcs.RowFilterOperands.Remove(ComparisonOperator.Equals)
C# の場合:
FilterColumnSettings fcs = this.MyDataGrid.Columns.DataColumns["ProductID"].FilterColumnSettings; fcs.RowFilterOperands.Remove(ComparisonOperator.Equals);
デフォルトのフィルター オペランドを変更
xamGrid コントロールの FilterRow に表示されるデフォルトのフィルターは Equals です。ただし、このデフォルト フィルターを選んだ任意のフィルターに変更できます。
以下のコードはデフォルト フィルターを Contains に変更する方法を示します。
Visual Basic の場合:
For Each f As FilterOperand In Me.MyDataGrid.Columns.DataColumns("ProductName").FilterColumnSettings.RowFilterOperands If (f.ComparisonOperatorValue = ComparisonOperator.Contains) Then Me.MyDataGrid.Columns.DataColumns("ProductName").FilterColumnSettings.FilteringOperand = f Exit For End If Next
C# の場合:
foreach (FilterOperand f in this.MyDataGrid.Columns.DataColumns["ProductName"].FilterColumnSettings.RowFilterOperands) { if (f.ComparisonOperatorValue == ComparisonOperator.Contains) { this.MyDataGrid.Columns.DataColumns["ProductName"].FilterColumnSettings.FilteringOperand = f; break; } }