FlexGrid for WinForms
CustomComparer プロパティ (C1FlexGridBase)
使用例 

C1.Win.C1FlexGrid.4.8 アセンブリ > C1.Win.C1FlexGrid 名前空間 > C1FlexGridBase クラス : CustomComparer プロパティ
グループ化、マージ、検索の各操作を実行するためにグリッドで使用される独自の比較オブジェクトを取得または設定します。
シンタックス
'宣言
 
Public Property CustomComparer As System.Collections.IComparer
public System.Collections.IComparer CustomComparer {get; set;}
解説

グリッドは、セルを比較し、それらの内容が同じかどうかを判定するために使用されるデフォルトの System.Collections.IComparerを実装しています。この実装は、値のマージ、グループ化、または検索時に使用されます( AllowMergingプロパティ、 Subtotal(AggregateEnum,Int32,Int32,Int32,Int32,String)メソッド、および FindRow(String,Int32,Int32,Boolean,Boolean,Boolean)メソッドを参照)。

デフォルトの実装は、大文字小文字を区別し、先行および後続の空白が考慮されます。

大文字小文字を区別しない比較または空白のトリミングを使用してセルをマージする場合は、 System.Collections.IComparerインタフェースを実装するカスタムクラスを記述し、そのインスタンスをグリッドの CustomComparer プロパティに割り当てます。

このプロパティを null (Visual Basic では Nothing)に設定すると、デフォルトの動作に戻ります。

使用例
次のコードは、組み込みの比較子を System.Collections.CaseInsensitiveComparerに置き換えます。これにより、 Subtotal(AggregateEnum,Int32,Int32,Int32,Int32,String)メソッドは、大文字小文字だけが異なる項目を同じグループにグループ化します。
flex.DataSource = GetTable()
          
' 大文字小文字を区別しない比較子を使用します。
flex.CustomComparer = New CaseInsensitiveComparer()
          
' 大文字小文字を無視してグループを追加します。
flex.Subtotal(AggregateEnum.Sum, 1, 1, 4)
          
' デフォルトの比較子(大文字小文字を区別する)を復元します。
flex.CustomComparer = Nothing
          
Private Shared Function GetTable() As DataTable
  Dim table As DataTable = New DataTable
  table.Columns.Add("CustomerName", GetType(String))
  table.Columns.Add("CustomerID", GetType(System.Int32))
  table.Columns.Add("Frequency", GetType(System.Double))
  table.Columns.Add("Age", GetType(System.Int32))
  table.Rows.Add("Chris", 1, 0.3, 68)
  table.Rows.Add("chris", 2, 0.2, 10)
  table.Rows.Add("Paul", 3, 0.5, 41)
  table.Rows.Add("paul", 4, 0.4, 60)
  table.Rows.Add("PAUL", 5, 1, 10)
  Return table
End Function
flex.DataSource = GetTable();
          
// 大文字小文字を区別しない比較子を使用します。
flex.CustomComparer = new System.Collections.CaseInsensitiveComparer();
          
// 大文字小文字を無視してグループを追加します。
flex.Subtotal(AggregateEnum.Sum, 1, 1, 4);
          
// デフォルトの比較子(大文字小文字を区別する)を復元します。
flex.CustomComparer = null;
          
private static DataTable GetTable()
{
  DataTable table = new DataTable();
  table.Columns.Add("CustomerName", typeof(String));
  table.Columns.Add("CustomerID", typeof(int));
  table.Columns.Add("Frequency", typeof(double));
  table.Columns.Add("Age", typeof(int));

  table.Rows.Add("Chris", 1, 0.3, 68);
  table.Rows.Add("chris", 2, 0.2, 10);
  table.Rows.Add("Paul", 3, 0.5, 41);
  table.Rows.Add("paul", 4, 0.4, 60);
  table.Rows.Add("PAUL", 5, 1, 10);
  return table;
}
参照

C1FlexGridBase クラス
C1FlexGridBase メンバ