Autres conseils

Une solution consiste à créer du javascript dans votre méthode RowDataBound afin de mettre à jour constamment ces totaux lorsque les zones de texte changent.

Donc, pendant le RowDataBound, commencez à créer une chaîne javascript en mémoire qui additionnera les zones de texte à ajouter. Ce qui est bien dans RowDataBound, c'est que vous pouvez obtenir l'identifiant client de ces zones de texte en appelant TextBox.ClientId. Ajoutez ce javascript à la page, puis ajoutez également un événement onkeyup à chaque zone de texte requise pour appeler ce script.

Donc, quelque chose comme (c'est un événement lié à une ligne depuis un 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 + ";
   }
}

Puis, une fois que vous avez construit tout ce script, utilisez votre classe Page.ClientScript pour ajouter une méthode à votre page, qui sera appelée par votre onkeyup dans vos zones de texte " MyAddUpJavaScriptMethod "

.

L’espoir est logique et utile

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top