Dim fcs As FilterColumnSettings = Me.MyDataGrid.Columns.DataColumns("ProductID").FilterColumnSettings fcs.RowFilterOperands.Remove(ComparisonOperator.Equals)
このコントロールは廃止されたため、XamDataGrid コントロールに移行することをお勧めします。今後、新機能、バグ修正、サポートは提供されません。コードベースの 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; } }