C1TrueDBGrid オブジェクトには、さまざまなオブジェクトを管理する8つの異なるコレクションが含まれます。また、これらのコレクションにそれぞれ対応し、そのコレクションオブジェクトを返すプロパティが C1TrueDBGrid オブジェクト内にあります。そのため、コード内でグリッドを使用する場合に、完全なコレクション名を覚えておく必要がありません。次に、これらのコレクションとプロパティの対応を示します。
コレクション | 関連プロパティ |
---|---|
C1DataColumnCollection | Columns プロパティ |
C1DisplayColumnCollection | DisplayColumns プロパティ |
GridStyleCollection | Styles プロパティ |
SelectedColumnCollection | SelectedCols プロパティ |
SelectedRowCollection | SelectedRows プロパティ |
SplitCollection | Splits プロパティ |
ValueItemCollection | Values プロパティ |
デフォルトでは、SplitCollection オブジェクトには1つのSplit オブジェクトが含まれます。GridStyleCollection オブジェクトには、Caption、Editor、EvenRow、FilterBar、Footer、Group、Heading、HighlightRow、Inactive、Normal、OddRow、RecordSelector、および Selected という13個のデフォルトのStyle オブジェクトが含まれます。
コレクション内のオブジェクトを参照するには、0から始まるインデックスを使用します。次のように、Split オブジェクトのプロパティを設定または読み取ることができます。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
' Split オブジェクトのプロパティを読み取ります variable = Me.C1TrueDBGrid1.Splits(0).Property ' Split オブジェクトのプロパティを設定します Me.C1TrueDBGrid1.Splits(0).Property = variable |
C# コードの書き方
C# |
コードのコピー
|
---|---|
// Split オブジェクトのプロパティを読み取ります variable = this.c1TrueDBGrid1.Splits[0].Property; // Split オブジェクトのプロパティを設定します this.c1TrueDBGrid1.Splits[0].Property = variable; |
コレクションの Item メソッドを使用して、コレクション内のオブジェクトの参照を作成できます。次のコードは、グリッドのデフォルトの Split オブジェクトへの参照を作成しています。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
' Split0 を Split オブジェクトとして宣言します Dim Split0 As C1.Win.C1TrueDBGrid.Split ' コレクション内の最初のスプリットを参照するように Split0 を設定します Split0 = Me.C1TrueDBGrid1.Splits(0) |
C#コードの書き方
C# |
コードのコピー
|
---|---|
// Split0 を Split オブジェクトとして宣言します C1.Win.C1TrueDBGrid.Split Split0; // コレクション内の最初のスプリットを参照するように Split0 を設定します Split0 = this.c1TrueDBGrid1.Splits[0]; |
上の例で、名前空間修飾子を使用していることに注意してください。他のコントロールとの潜在的な名前の競合を解決するために、名前空間修飾子を使用することをお勧めします。たとえば、同じプロジェクトで別のコントロールを使用しており、そのコントロールでも Split という名前のオブジェクトを定義している場合は、C1TrueDBGrid 名前空間修飾子が必要になります。その別のコントロールにも名前空間修飾子を付けます。
コレクションの Item メソッドは暗黙的に使用できるため、省略できます。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
' Split0 を Split オブジェクトとして宣言します Dim Split0 As C1.Win.C1TrueDBGrid.Split ' コレクション内の最初のスプリットを参照するように Split0 を設定します Split0 = Me.C1TrueDBGrid1.Splits(0) |
C# コードの書き方
C# |
コードのコピー
|
---|---|
// Split0 を Split オブジェクトとして宣言します C1.Win.C1TrueDBGrid.Split Split0; // コレクション内の最初のスプリットを参照するように Split0 を設定します Split0 = this.c1TrueDBGrid1.Splits[0]; |
ここで、Split0 を使用して、Split オブジェクトのプロパティを取得または設定したり、メソッドを実行することができます。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
'Split オブジェクトのプロパティを読み取ります variable = Split0.Property ' Split オブジェクトのプロパティを設定します Split0.Property = variable ' Split オブジェクトのメソッドを実行します Split0.Method (arg1, arg2, ...) |
C# コードの書き方
C# |
コードのコピー
|
---|---|
//Split オブジェクトのプロパティを読み取ります variable = Split0.Property; // Split オブジェクトのプロパティを設定します Split0.Property = variable; //Split オブジェクトのメソッドを実行します Split0.Method (arg1, arg2, ...); |
1つ以上のオブジェクトプロパティを取得および設定することもよくあります。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
' Split オブジェクトのプロパティを読み取ります variable1 = Me.C1TrueDBGrid1.Splits(0,0).Property1 variable2 = Me.C1TrueDBGrid1.Splits(0,0).Property2 ' Split オブジェクトのプロパティを設定します Me.C1TrueDBGrid1.Splits(0,0).Property1 = variable1 Me.C1TrueDBGrid1.Splits(0,0).Property2 = variable2 |
C# コードの書き方
C# |
コードのコピー
|
---|---|
// Split オブジェクトのプロパティを読み取ります variable1 = this.c1TrueDBGrid1.Splits[0,0].Property1; variable2 = this.c1TrueDBGrid1.Splits[0,0].Property2; // Split オブジェクトのプロパティを設定します this.c1TrueDBGrid1.Splits[0,0].Property1 = variable1; this.c1TrueDBGrid1.Splits[0,0].Property2 = variable2; |
このコードは、Me.C1TrueDBGrid1.Splits(0,0) オブジェクトに何度もアクセスしているため、あまり効率よくありません。事前にこのオブジェクトへの参照を1つ作成しておき、それを繰り返し使用する方が効率的です。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
' Split0 を Split オブジェクトとして宣言します Dim Split0 As C1TrueDBGrid.Split ' コレクション内の最初のスプリットを参照するように Split0 を設定します Split0 = Me.C1TrueDBGrid1.Splits.Item(0,0) ' Split オブジェクトのプロパティを読み取ります variable1 = Split0.Property1 variable2 = Split0.Property2 ' Split オブジェクトのプロパティを設定します Split0.Property1 = variable1 Split0.Property2 = variable2 |
C# コードの書き方
C# |
コードのコピー
|
---|---|
// Split0 を Split オブジェクトとして宣言します C1TrueDBGrid.Split Split0; // コレクション内の最初のスプリットを参照するように Split0 を設定します Split0 = this.c1TrueDBGrid1.Splits[0,0]; // Split オブジェクトのプロパティを読み取ります variable1 = Split0.Property1; variable2 = Split0.Property2; // Split オブジェクトのプロパティを設定します Split0.Property1 = variable1; Split0.Property2 = variable2; |
これで、たいへん効率よくなり、コードも読みやすくなります。.NET アプリケーションで頻繁にコレクションオブジェクトにアクセスする場合は、このガイドラインに従うことで、コードのパフォーマンスを著しく向上させることができます。
このテクニックは、C1TrueDBGrid の他のオブジェクトとコレクション、および一般に Visual Studio のオブジェクトとコレクションにも同様に適用できます。グリッドの場合に特に重要なのは、C1DataColumn オブジェクトと C1DataColumnCollection オブジェクトです(C1DisplayColumn オブジェクトも同様)。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
'Cols を Columns コレクション オブジェクトとして宣言し、C1TrueDBGrid1 の C1DataColumnCollection オブジェクトを参照するように設定します。 Dim Cols As C1.Win.C1TrueDBGrid.C1DataColumnCollection Cols = Me.C1TrueDBGrid1.Columns ' Col0 を C1DataColumn オブジェクトとして宣言し、コレクション内の最初の Column オブジェクトを参照するように設定します。 Dim Col0 As New C1.Win.C1TrueDBGrid.C1DataColumn Col0 = Cols(0) ' C1DataColumn オブジェクトの Property1 を取得および設定します。 variable1 = Col0.Property1 Col0.Property1 = variable1 ' C1DataColumn オブジェクトの Method1(Sub として宣言)を実行します Col0.Method1 (arg1, arg2, ...) ' C1DataColumn オブジェクトの Method2(Function として宣言)を実行します。 variable2 = Col0.Method2(arg1) |
C# コードの書き方
C# |
コードのコピー
|
---|---|
// Cols を Columns コレクション オブジェクトとして宣言し、C1TrueDBGrid1 の C1DataColumnCollection オブジェクトを参照するように設定します。 C1.Win.C1TrueDBGrid.C1DataColumnCollection Cols; Cols = this.c1TrueDBGrid1.Columns; // Col0 を C1DataColumn オブジェクトとして宣言し、コレクション内の最初の Column オブジェクトを参照するように設定します。 C1.Win.C1TrueDBGrid.C1DataColumn Col0 = new C1TrueDBGrid.DataColumn(); Col0 = Cols[0]; // C1DataColumn オブジェクトの Property1 を取得および設定します。 variable1 = Col0.Property1; Col0.Property1 = variable1; // C1DataColumn オブジェクトの Method1(Sub として宣言)を実行します Col0.Method1 (arg1, arg2, ...); // C1DataColumn オブジェクトの Method2(Function として宣言)を実行します。 variable2 = Col0.Method2(arg1); |
オブジェクトの複数のプロパティを効率よく設定するために、Visual Basic には With...End With 文も用意されています。この文を使用すると、各プロパティを明示的に変数に割り当てる必要がありません。たとえば、次のコードは、グリッドの最初の列の複数のプロパティを設定しています。コレクションのインデックスが0で始まることに注意してください。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
With Me.C1TrueDBGrid1.Columns(0) .Property1 = variable1 .Property2 = variable2 End With |
C#コードの書き方
C# |
コードのコピー
|
---|---|
this.c1TrueDBGrid1.Columns[0].Property1 = variable1; this.c1TrueDBGrid1.Columns[0].Property2 = variable2; |