C1TrueDBGrid.NewRow メソッドを使用すれば、非連結グリッドに新しい行を簡単に追加できます。このメソッドは非連結グリッドと同じスキーマでSystem.Data.DataRow を新しく作成します。次の手順で、非連結グリッドの DataRowCollection を取得する C1TrueDBGrid.Rows コレクションと、新しい行を非連結グリッドの指定したインデックスに挿入する C1TrueDBGrid.NewRow メソッドを使用します。
次の手順を実行します。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
imports C1.Win.C1TrueDBGrid |
C# コードの書き方
C# |
コードのコピー
|
---|---|
using C1.Win.C1TrueDBGrid; |
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'キャプションをグリッドに追加します。 Me.C1TrueDBGrid1.Caption = "Unbound Grid" ' 列をグリッドに追加します。 Me.C1TrueDBGrid1.Columns.Add(New C1.Win.C1TrueDBGrid.C1DataColumn("Col 1", GetType(String))) Me.C1TrueDBGrid1.Columns.Add(New C1.Win.C1TrueDBGrid.C1DataColumn("Col 2", GetType(String))) Me.C1TrueDBGrid1.Columns.Add(New C1.Win.C1TrueDBGrid.C1DataColumn("Col 3", GetType(String))) Me.C1TrueDBGrid1.Columns.Add(New C1.Win.C1TrueDBGrid.C1DataColumn("Col 4", GetType(String))) ' 引数を指定せずに、SetDataBinding メソッドを呼び出します。. Me.C1TrueDBGrid1.SetDataBinding() ' グリッドに値を入力します。 Dim i As Integer For i = 0 To 20 - 1 Dim s As String = String.Format("Data {0};Data {1};Data {2}; Data {3}", New Object() {i, i, i, i}) Me.C1TrueDBGrid1.AddRow(s) Next i End Sub |
C# コードの書き方
C# |
コードのコピー
|
---|---|
private void Form1_Load(object sender, EventArgs e) { // キャプションをグリッドに追加します。 this.c1TrueDBGrid1.Caption = "Unbound Grid" // 列をグリッドに追加します。 this.c1TrueDBGrid1.Columns.Add(new C1.Win.C1TrueDBGrid.C1DataColumn("Col 1", typeof(string))); this.c1TrueDBGrid1.Columns.Add(new C1.Win.C1TrueDBGrid.C1DataColumn("Col 2", typeof(string))); this.c1TrueDBGrid1.Columns.Add(new C1.Win.C1TrueDBGrid.C1DataColumn("Col 3", typeof(string))); this.c1TrueDBGrid1.Columns.Add(new C1.Win.C1TrueDBGrid.C1DataColumn("Col 4", typeof(string))); // 引数を指定せずに、SetDataBinding メソッドを呼び出します。 this.c1TrueDBGrid1.SetDataBinding(); // グリッドに値を入力します。 for (int i = 0; i < 20; i++) { string s = String.Format("Data {0};Data {1};Data {2}; Data {3}", i, i, i, i); this.c1TrueDBGrid1.AddRow(s); } } |
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim idx As Integer = CInt(Me.NumericUpDown1.Value) ' 新しい行を作成します。 Dim dr As DataRow = Me.C1TrueDBGrid1.NewRow dr.Item(0) = "new row" ' 選択したインデックスで新しい行を追加します。 Me.C1TrueDBGrid1.Rows.InsertAt(dr, idx) End Sub |
C# コードの書き方
C# |
コードのコピー
|
---|---|
private void button1_Click(object sender, EventArgs e) { int idx = (int) this.numericUpDown1.Value; // 新しい行を作成します。 DataRow dr = this.c1TrueDBGrid1.NewRow(); dr[0] = "new row"; // 選択したインデックスで新しい行を追加します。 this.c1TrueDBGrid1.Rows.InsertAt(dr, idx); } |
フォームは次のようになります。
矢印を使って[新規行のインデックス]ボックスの数を変更し、<行の追加>ボタンを選択します。選択したインデックスに新しい行が表示されます。