テキストボックスを EditItemTemplate として使用していますか? その場合は、EditItemTemplate のテキスト ボックス内に、以下のように OnTextChanged イベントを追加Textbox1_OnTextChanged
します。
<asp:DataGrid ID="Grid" runat="server">
<Columns>
<asp:TemplateColumn>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" OnLoad="TextBox1_Load" OnTextChanged="Textbox1_OnTextChanged"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
その後、サーバー側で値を合計できます。
また、以下のように、テキスト ボックスのクライアント側イベントをバインドするために、テキスト ボックスの EditItemTemplate に Load イベント (Textbox1_OnLoad) を追加する必要があります。
protected void TextBox1_Load(object sender, EventArgs e)
{
TextBox newTb = sender as TextBox;
if (newTb != null)
{
newTb.Attributes.Add("onChange", "sumup(this)");
}
}
Javascript では、sumup イベントを処理し、このオブジェクトを使用してテキスト ボックスの値を取得し、値を追加できます。JavaScript がサポートされている場合は合計が計算され、sumup 関数の最後で false を返してポストバックを停止する必要があります。
JavaScript がサポートされていない場合、メソッドは呼び出されず、ポストバックが自動的にトリガーされます。
これにより、より良いアイデアが得られることを願っています。
よろしく、
ラックスマン クマール C