Copyright © GrapeCity inc. All rights reserved.
True DBGrid for WinForms
非連結列を作成する
データ連結 > 非連結列 > 非連結列を作成する

非連結列を使用するには、最初に列を作成します。設計時に列を作成するには、C1TrueDBGrid デザイナを使って列を追加します。実行時に非連結列を追加するには、C1DataColumnCollection の Insertメソッドを使用します。列の Caption プロパティを設定して、その列に名前を付ける必要があります。設計時に列に名前を付けるには、C1TrueDBGrid デザイナを使用します。実行時には、適切なC1DataColumn オブジェクトの Caption プロパティを設定します。C1DataColumnCollection に C1DataColumn オブジェクトを追加すると、対応するC1DataColumnCollection C1DisplayColumn がすべてのスプリットの C1DisplayColumnCollection に追加されます。デフォルトでは、新しく追加された C1DisplayColumn の Visible プロパティは False に設定されます。

コード内で非連結列を挿入する場合は、次のように、C1TrueDBGrid.Rebind メソッドを使用して、列をグリッド内の目的の場所に表示する必要があります

Visual Basic コードの書き方

Visual Basic
コードのコピー
Dim Col As New C1.Win.C1TrueDBGrid.C1DataColumn
Dim dc As C1.Win.C1TrueDBGrid.C1DisplayColumn
 
With Me.C1TrueDBGrid1
    .Columns.Insert(0, Col)
    Col.Caption = "Unbound"
    dc = .Splits(0).DisplayColumns.Item("Unbound")
 
    ' 新しく追加された列をグリッドの左端に移動します
    .Splits(0).DisplayColumns.RemoveAt(.Splits(0).DisplayColumns.IndexOf(dc))
    .Splits(0).DisplayColumns.Insert(0, dc)
    dc.Visible = True
    .Rebind(True)
End With

C#コードの書き方

C#
コードのコピー
C1.Win.C1TrueDBGrid.C1DataColumn Col = new C1.Win.C1TrueDBGrid.C1DataColumn();
C1.Win.C1TrueDBGrid.C1DisplayColumn dc;
c1TrueDBGrid1.Columns.Insert(0, Col);
Col.Caption = "Unbound";
dc = c1TrueDBGrid1.Splits[0].DisplayColumns["Unbound"];
 
// 新しく追加された列をグリッドの左端に移動します
c1TrueDBGrid1.Splits[0].DisplayColumns.RemoveAt(C1TrueDBGrid1.Splits[0].DisplayColumns.IndexOf(dc));
c1TrueDBGrid1.Splits[0].DisplayColumns.Insert(0, dc);
dc.Visible = true;
c1TrueDBGrid1.Rebind(true);

グリッドに非連結列の値を表示する必要がある場合は、UnboundColumnFetch イベントが発生します。このイベントによって、行と列のインデックスが提供されます。このインデックスを使用して、要求されているグリッドセルを特定できます。このイベントの Value 引数は、デフォルトで Null の Object 型ですが、これを任意の値に変更できます。また、この値を使用して、ブックマークまたは列のインデックスで指定したセルにコンテンツを挿入することもできます。

Visual Basic コードの書き方

Visual Basic
コードのコピー
Private Sub C1TrueDBGrid1_UnboundColumnFetch(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.UnboundColumnFetchEventArgs) Handles C1TrueDBGrid1.UnboundColumnFetch

C# コードの書き方

C#
コードのコピー
private void c1TrueDBGrid1_UnboundColumnFetch(object sender, C1.Win.C1TrueDBGrid.UnboundColumnFetchEventArgs e)
関連トピック