このチュートリアルでは、True DBGrid が、グリッドの連結先と同じ DataSet を操作する Visual Basic コードや他の連結コントロールと対話するしくみを学びます。
以下の手順を実行します。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Me.CustomersTableAdapter.Fill(Me.DsCustomers.Customers) |
C# コードの書き方
C# |
コードのコピー
|
---|---|
this.CustomersTableAdapter.Fill(this.DsCustomers.Customers); |
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click ' カレントレコードをグリッドの先頭に移動します。 Me.C1TrueDBGrid1.MoveFirst() End Sub Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click ' カレントレコードをグリッドの次の行に移動します。 Me.C1TrueDBGrid1.MoveNext() End Sub Private Sub btnPrevious_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrevious.Click ' カレントレコードをグリッドの前の行に移動します。 Me.C1TrueDBGrid1.MovePrevious() End Sub Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click ' カレントレコードをグリッドの末尾に移動します。 Me.C1TrueDBGrid1.MoveLast() End Sub |
C# コードの書き方
C# |
コードのコピー
|
---|---|
private void btnFirst_Click(System.object sender, System.EventArgs e) { // カレントレコードをグリッドの先頭に移動します。 this.c1TrueDBGrid1.MoveFirst(); } private void btnNext_Click(System.object sender, System.EventArgs e) { // カレントレコードをグリッドの次の行に移動します。 this.c1TrueDBGrid1.MoveNext(); } private void btnPrevious_Click(System.object sender, System.EventArgs e) { // カレントレコードをグリッドの前の行に移動します。 this.c1TrueDBGrid1.MovePrevious(); } private void btnLast_Click(System.object sender, System.EventArgs e) { // カレントレコードをグリッドの末尾に移動します。 this.c1TrueDBGrid1.MoveLast(); } |
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click ' グリッドを更新し、データベースに変更データを保存します。 Me.C1TrueDBGrid1.Delete() Call UpdateCustomers() End Sub Private Sub BtnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click ' カレントレコードを削除し、データベースに変更データを保存します。 Me.C1TrueDBGrid1.UpdateData() Call UpdateCustomers() End Sub Private Sub BtnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click Me.C1TrueDBGrid1.MoveLast() ' Me.C1TrueDBGrid1.Row = Me.C1TrueDBGrid1.Row + 1 Me.C1TrueDBGrid1.Select() End Sub |
C# コードの書き方
C# |
コードのコピー
|
---|---|
private void btnDelete_Click(System.object sender, System.EventArgs e) { // グリッドを更新し、データベースに変更データを保存します。 this.c1TrueDBGrid1.Delete(); UpdateCustomers(); } private void BtnUpdate_Click(System.object sender, System.EventArgs e) { // カレントレコードを削除し、データベースに変更データを保存します。 this.c1TrueDBGrid1.UpdateData(); UpdateCustomers(); } private void BtnAdd_Click(System.object sender, System.EventArgs e) { // this.c1TrueDBGrid1.MoveLast(); // Move to the "addnew row", and set focus to the grid. this.c1TrueDBGrid1.Row = this.c1TrueDBGrid1.Row + 1; this.c1TrueDBGrid1.Select(); } |
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Private Sub UpdateCustomers() Me.CustomersTableAdapter.Connection.Open() Dim UpdatedRows As System.Data.DataSet Dim InsertedRows As System.Data.DataSet Dim DeletedRows As System.Data.DataSet ' 前回データを保存した以降にデータセットに対して行われたすべての変更を取得します。 UpdatedRows = Me.DsCustomers.GetChanges(DataRowState.Modified) InsertedRows = Me.DsCustomers.GetChanges(DataRowState.Added) DeletedRows = Me.DsCustomers.GetChanges(DataRowState.Deleted) Try ' 変更データを保存します。 If Not UpdatedRows Is Nothing Then Me.CustomersTableAdapter.Update(UpdatedRows) If Not InsertedRows Is Nothing Then Me.CustomersTableAdapter.Update(InsertedRows) If Not DeletedRows Is Nothing Then Me.CustomersTableAdapter.Update(DeletedRows) Catch eUpdate As System.Exception MessageBox.Show ("Caught exception: " & eUpdate.Message) End Try Me.CustomersTableAdapter.Connection.Close() End Sub |
C# コードの書き方
C# |
コードのコピー
|
---|---|
private void UpdateCustomers() { this.CustomersTableAdapter.Connection.Open(); System.Data.DataSet UpdatedRows; System.Data.DataSet InsertedRows; System.Data.DataSet DeletedRows; //前回データを保存した以降にデータセットに対して行われたすべての変更を取得します。 UpdatedRows = this.DsCustomers.GetChanges(DataRowState.Modified); InsertedRows = this.DsCustomers.GetChanges(DataRowState.Added); DeletedRows = this.DsCustomers.GetChanges(DataRowState.Deleted); try { // 変更データを保存します。 if (! UpdatedRows == null ) this.CustomersTableAdapter.Update(UpdatedRows) if (! InsertedRows == null ) this.CustomersTableAdapter.Update(InsertedRows) if (! DeletedRows == null ) this.CustomersTableAdapter.Update(DeletedRows) } catch (System.Exception eUpdate) { MessageBox.Show ("Caught exception: " + eUpdate.Message); } this.CustomersTableAdapter.Connection.Close(); } |
これでチュートリアル 4 は終了です。