パラメータ
- row
- col
このプロパティは、コントロールのインデクサです。
セルにインデックスを付けるには、行インデックスと列インデックスを使用するか、行インデックスと列名を使用します。
整数インデックスを使用する場合は、列を検索する必要がないため、効率がよくなります。列名を使用する場合は、ユーザーが列を新しい位置に移動しても参照が有効なままなので、柔軟性が高くなります。
セルに値を割り当てると、グリッドは、その値を列で指定されている型に変換しようとします( RowCol.DataTypeプロパティを参照)。値を変換できない場合は、 GridErrorイベントを発生させ、セルの元の値を維持します。
アップグレードに関するメモ :ActiveX 版の VSFlexGrid コントロールでは、セル内容へアクセスするには TextMatrix プロパティ、名前順の列インデックスを作成するには ColIndex プロパティを使用しました。C1FlexGrid では、インデクサを使用します。
次の例は、列を作成して名前を割り当て、列インデックスを使用してセルの値を設定し、列名を使用してその値を取得します。
' 列を作成し、名前を割り当て、新しいインデックスを取得します。 Dim myCol As Column = flex.Cols.Add() myCol.Name = "住所" myCol.DataType = GetType(String) Dim colIndex As Integer = myCol.Index ' セルの座標を使用して、セルに値を割り当てます。 flex(1, colIndex) = "東京都港区" ' 列名を使用して、値を取得します。 MessageBox.Show("住所は " & flex(1, "住所").ToString() & "です。")
// 列を作成し、名前を割り当て、新しいインデックスを取得します。 Column myCol = flex.Cols.Add(); myCol.Name = "住所"; myCol.DataType = typeof(string); int colIndex = myCol.Index; // セルの座標を使用して、セルに値を割り当てます。 flex[1, colIndex] = "東京都港区"; // 列名を使用して、値を取得します MessageBox.Show("住所は " + flex[1, "住所"].ToString() + "です。");