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;
}
}