このチュートリアルでは、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 は終了です。