このチュートリアルの前の手順では、ユーザーによって入力されたデータを条件に照らして検証しました。この手順では、新しい更新データをサーバーに送信します。
引き続き、次の手順を実行します。
| ソースビュー |
コードのコピー
|
|---|---|
| AutoGenerateDeleteButton="true" | |
次のようになります。
| ソースビュー |
コードのコピー
|
|---|---|
| <cc1:C1GridView ID="C1GridView1" runat="server" AutoGenerateDeleteButton="true" AllowClientEditing="true" DataKeyNames="OrderID" HighlightCurrentCell="true" AllowKeyboardNavigation="true" AutogenerateColumns="false"> |
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Private Sub C1GridView1_RowEditing(sender As Object, e As C1.Web.Wijmo.Controls.C1GridView.C1GridViewEditEventArgs) C1GridView1.EditIndex = e.NewEditIndex UpdateView() End Sub |
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
void C1GridView1_RowEditing(object sender, C1.Web.Wijmo.Controls.C1GridView.C1GridViewEditEventArgs e) { C1GridView1.EditIndex = e.NewEditIndex; UpdateView(); } |
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Protected Sub Page_Init(sender As Object, e As EventArgs)
AddHandler C1GridView1.RowEditing, AddressOf C1GridView1_RowEditing
End Sub
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
protected void Page_Init(object sender, EventArgs e) { C1GridView1.RowEditing += C1GridView1_RowEditing; |
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Dim orders As DataTable = GetDataSet() Dim row As DataRow = orders.Rows.Find(C1GridView1.DataKeys(e.RowIndex).Value) If row IsNot Nothing Then For Each entry As DictionaryEntry In e.NewValues row(DirectCast(entry.Key, String)) = entry.Value Next Else Throw New RowNotInTableException() End If |
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
DataTable orders = GetDataSet();
DataRow row = orders.Rows.Find(C1GridView1.DataKeys[e.RowIndex].Value);
if (row != null)
{
foreach (DictionaryEntry entry in e.NewValues)
{
row[(string)entry.Key] = entry.Value;
}
}
else
{
throw new RowNotInTableException();
}
|
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
GetDataSet().AcceptChanges() UpdateView() |
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
GetDataSet().AcceptChanges(); UpdateView(); |
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Dim orders As DataTable = GetDataSet() Dim row As DataRow = orders.Rows.Find(C1GridView1.DataKeys(e.RowIndex).Value) If row IsNot Nothing Then orders.Rows.Remove(row) orders.AcceptChanges() UpdateView() Else Throw New RowNotInTableException() End If |
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
DataTable orders = GetDataSet();
DataRow row = orders.Rows.Find(C1GridView1.DataKeys[e.RowIndex].Value);
if (row != null)
{
orders.Rows.Remove(row);
orders.AcceptChanges();
UpdateView();
}
else
{
throw new RowNotInTableException();
}
|
|
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
AddHandler C1GridView1.RowDeleting, AddressOf C1GridView1_RowDeleting |
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
C1GridView1.RowDeleting += new C1.Web.Wijmo.Controls.C1GridView.C1GridViewDeleteEventHandler(C1GridView1_RowDeleting);
|
|
タグは、次の図のようになります。
| ソースビュー |
コードのコピー
|
|---|---|
| <cc1:C1GridView ID="C1GridView1" runat="server" AutoGenerateDeleteButton="true" AllowClientEditing="true" DataKeyNames="OrderID" HighlightCurrentCell="true" OnRowUpdating="C1GridView1_RowUpdating" OnEndRowUpdated="C1GridView1_EndRowUpdated" OnRowDeleting="C1GridView1_RowDeleting" AllowKeyboardNavigation="true" AutogenerateColumns="false"> |
|
ここまでの成果以下の図に、このチュートリアルで追加されたグリッド操作を示します。

図(i)- グリッド内の列の値を編集する

図(ii)- 変更された値がグリッドで更新される

図(iii)- グリッドから行を削除する

図(iv)- 削除後にグリッドが更新される