作成日: 2014/12/08 最終更新日: 2015/01/15
文書種別
不具合
状況
修正済み
詳細
CallbackSettings-Actionを有効(None以外)としたグリッドにて、EditItemTemplateに配置された二つ目以降のコントロールでは編集前の値しか取得できません。
【再現手順】
1.サンプルを起動します。
2.[編集]ボタンをクリックします。
3.ふたつのテキストボックスに "abcde"、"fghij"と入力します。
4.[更新]ボタンをクリックします。
結果: ポストバックが発生しますが、"fghij"と入力したコントロールは編集前の値しか取得できないため更新されません。
◎サンプルコード (aspx)
◎サンプルコード (VB)
◎サンプルコード (C#)
【再現手順】
1.サンプルを起動します。
2.[編集]ボタンをクリックします。
3.ふたつのテキストボックスに "abcde"、"fghij"と入力します。
4.[更新]ボタンをクリックします。
結果: ポストバックが発生しますが、"fghij"と入力したコントロールは編集前の値しか取得できないため更新されません。
◎サンプルコード (aspx)
<wijmo:C1GridView ID="C1GridView1" runat="server" AutogenerateColumns="false" CallbackSettings-Action="All" OnRowCancelingEdit="C1GridView1_RowCancelingEdit" OnRowDataBound="C1GridView1_RowDataBound" OnRowEditing="C1GridView1_RowEditing" OnRowUpdating="C1GridView1_RowUpdating">
<Columns>
<wijmo:C1CommandField ShowEditButton="true" ShowCancelButton="true" />
<wijmo:C1TemplateField>
<ItemTemplate>
<asp:Label ID="Label1" runat="server"></asp:Label>
<asp:Label ID="Label2" runat="server"></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</EditItemTemplate>
</wijmo:C1TemplateField>
</Columns>
</wijmo:C1GridView>
<Columns>
<wijmo:C1CommandField ShowEditButton="true" ShowCancelButton="true" />
<wijmo:C1TemplateField>
<ItemTemplate>
<asp:Label ID="Label1" runat="server"></asp:Label>
<asp:Label ID="Label2" runat="server"></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</EditItemTemplate>
</wijmo:C1TemplateField>
</Columns>
</wijmo:C1GridView>
◎サンプルコード (VB)
Protected Sub C1GridView1_RowUpdating(sender As Object, e As C1.Web.Wijmo.Controls.C1GridView.C1GridViewUpdateEventArgs)
…
'TextBox1の値は取得可能。TextBox2の値は編集前の値しか取得できない。
dt.Rows(0)(0) = DirectCast(C1GridView1.Rows(0).FindControl("TextBox1"), TextBox).Text
dt.Rows(0)(1) = DirectCast(C1GridView1.Rows(0).FindControl("TextBox2"), TextBox).Text
…
End Sub
…
'TextBox1の値は取得可能。TextBox2の値は編集前の値しか取得できない。
dt.Rows(0)(0) = DirectCast(C1GridView1.Rows(0).FindControl("TextBox1"), TextBox).Text
dt.Rows(0)(1) = DirectCast(C1GridView1.Rows(0).FindControl("TextBox2"), TextBox).Text
…
End Sub
◎サンプルコード (C#)
protected void C1GridView1_RowUpdating(object sender, C1.Web.Wijmo.Controls.C1GridView.C1GridViewUpdateEventArgs e)
{
…
//TextBox1の値は取得可能。TextBox2の値は編集前の値しか取得できない。
dt.Rows[0][0] = ((TextBox)C1GridView1.Rows[0].FindControl("TextBox1")).Text;
dt.Rows[0][1] = ((TextBox)C1GridView1.Rows[0].FindControl("TextBox2")).Text;
…
}
{
…
//TextBox1の値は取得可能。TextBox2の値は編集前の値しか取得できない。
dt.Rows[0][0] = ((TextBox)C1GridView1.Rows[0].FindControl("TextBox1")).Text;
dt.Rows[0][1] = ((TextBox)C1GridView1.Rows[0].FindControl("TextBox2")).Text;
…
}
回避方法
この問題はバージョン4.0.20143.195で修正されました。
修正版の適用方法については、アップデートの方法を参照してください。
修正版の適用方法については、アップデートの方法を参照してください。
旧文書番号
81094