バージョン

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