このチュートリアルの前の手順では、ユーザーによって入力されたデータを条件に照らして検証しました。この手順では、新しい更新データをサーバーに送信します。
引き続き、次の手順を実行します。
ソースビュー |
コードのコピー
|
---|---|
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)- 削除後にグリッドが更新される