他のヒント

1つの解決策は、RowDataBoundメソッドでJavaScriptを作成して、テキストボックスが変更されたときにそれらの合計を絶えず更新することです。

したがって、RowDataBoundの間に、追加する必要のあるテキストボックスを追加するjavascript文字列のメモリ内での構築を開始します。 RowDataBoundの便利な点は、TextBox.ClientIdを呼び出すことにより、これらのテキストボックスのクライアント側IDを取得できることです。 このjavascriptをページに追加してから、このスクリプトの呼び出しに必要な各テキストボックスにonkeyupイベントも追加します。

次のようなもの(これはgridviewからの行バインドイベントです)

private string _jscript;
protected void gridview_RowDataBound(object sender, GridViewRowEventArgs e)
{
   if (e.Row.RowType == DataControlRowType.DataRow)
   {
      //Get your textbox
      Textbox tb = e.Row.FindControl("tbAddUp");
      //Add the event that you're going to call to this textbox's attributes
      tb.Attributes.Add("onkeyup", "MyAddUpJavaScriptMethod();");
      //Build the javascript for the MyAddUpJavaScriptMethod
      jscript += "document.getElementById('" + tb.ClientId + '").value + ";
   }
}

スクリプト全体を作成したら、Page.ClientScriptクラスを使用して、テキストボックスのonkeyupによって呼び出されるメソッドをページに追加します" MyAddUpJavaScriptMethod"

意味があり、役立つ希望

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top