Copyright © GrapeCity inc. All rights reserved.
True DBGrid for WinForms
Count プロパティを使用する
オブジェクトモデル > オブジェクトとコレクションを使用する > コレクションを使用する > Count プロパティを使用する

コレクション内のオブジェクトの数を参照するには、次のように、コレクションの Count プロパティを使用します。

Visual Basic コードの書き方

Visual Basic
コードのコピー
' 変数に C1TrueDBGrid1 内のスプリットの数を設定します
variable = Me.C1TrueDBGrid1.Splits.Count

C# コードの書き方

C#
コードのコピー
// 変数に C1TrueDBGrid1 内のスプリットの数を設定します
variable = this.c1TrueDBGrid1.Splits.Count;

次の例のように、Count プロパティを使用して、コレクション内のすべてのオブジェクトを反復処理することもできます。このコードは、グリッド内の各 C1DataColumn オブジェクトの Caption 文字列を出力しています。

Visual Basic コードの書き方

Visual Basic
コードのコピー
For n = 0 To Me.C1TrueDBGrid1.Columns.Count - 1
    Debug.WriteLine(Me.C1TrueDBGrid1.Columns(n).Caption)
Next n

C# コードの書き方

C#
コードのコピー
for (n = 0; n < this.c1TrueDBGrid1.Columns.Count; n++) 
{
           Console.WriteLine(this.c1TrueDBGrid1.Columns[n].Caption);
}

Count プロパティは、列の追加や削除にも便利です。

Visual Basic コードの書き方

Visual Basic
コードのコピー
' 何列あるかを決定します
Dim NumCols As Integer
NumCols = Me.C1TrueDBGrid1.Columns.Count
 
' Columns コレクションの最後に列を追加します
Dim C As C1TrueDBGrid.C1DataColumn = New C1TrueDBGrid.C1DataColumn()
Me.C1TrueDBGrid1.Columns.Insert(NumCols, C)
 
' 新しい列を可視にします。実行時に作成される列はデフォルトでは不可視です
Me.C1TrueDBGrid1.Splits(0).DisplayColumns(C).Visible = True
 
'次のループは、グリッドからすべての列を削除します
While Me.C1TrueDBGrid1.Columns.Count
    Me.C1TrueDBGrid1.Columns.RemoveAt(0)
End While

C# コードの書き方

C#
コードのコピー
// 何列あるかを決定します
int NumCols;
NumCols = this.c1TrueDBGrid1.Columns.Count;
 
// Columns コレクションの最後に列を追加します
C1TrueDBGrid.C1DataColumn C = new C1TrueDBGrid.C1DataColumn();
this.c1TrueDBGrid1.Columns.Insert(NumCols, C);
 
// 新しい列を可視にします。実行時に作成される列はデフォルトでは不可視です
this.c1TrueDBGrid1.Splits[0].DisplayColumns[C].Visible = true;
 
// 次のループは、グリッドからすべての列を削除します
while ( this.c1TrueDBGrid1.Columns.Count > 0 )
{
           this.c1TrueDBGrid1.Columns.RemoveAt(0);
}

コレクション内のオブジェクトを効率よく反復処理できるように、Visual Basic には For Each...Next 文(C#では、foreach)も用意されています。この文を使用すると、Count プロパティを使用する必要がありません。

Visual Basic コードの書き方

Visual Basic
コードのコピー
Dim C As C1TrueDBGrid.C1DataColumn
For Each C In Me.C1TrueDBGrid1.Columns
    Debug.WriteLine(C.Caption)
Next S

C# コードの書き方

C#
コードのコピー
C1TrueDBGrid.C1DataColumn c;
foreach (c In this.c1TrueDBGrid1.Columns)
{
    Console.WriteLine(c);
} 

実際、コレクション内のオブジェクトを反復処理する場合は、For Each...Next 文を使用することをお勧めします。

関連トピック