Mettez en surbrillance la ligne gridview dans le panneau de mise à jour sans publier de nouveau

J’ai un gridview dans un panneau de mise à jour avec le code suivant pour sélectionner une ligne. Ceci met à jour à son tour un autre updatepanel avec les détails de l’enregistrement de formulaire.

protected void gvMainGrid_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { //Make the entire row clickable to select this record //Uses javascript to post page back e.Row.Atsortingbutes["onmouseover"] = "this.style.cursor='hand';this.style.textDecoration='underline';"; e.Row.Atsortingbutes["onmouseout"] = "this.style.textDecoration='none';"; e.Row.Atsortingbutes.Add("onclick", ClientScript.GetPostBackClientHyperlink(this.gvMainGrid, "Select$" + e.Row.RowIndex)); } } 

Je lie manuellement le gridview à partir d’une firebase database et je ne souhaite pas relier la grid uniquement pour mettre en surbrillance la ligne, mais je n’arrive pas à append de javascript à l’événement onclick. javascript.

Comment mettre en évidence gridview quand la ligne est sélectionnée

pour cela, vous devez écrire ce code dans votre code derrière le fichier dans l’événement OnRowCreated ou vous pouvez également écrire ce code dans l’événement OnRowDataBound de la grid …

  protected void ctlGridView_OnRowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Atsortingbutes.Add("onclick", "onGridViewRowSelected('" + e.Row.RowIndex.ToSsortingng() + "')"); } } 

et append ce script

  

et il mettra en évidence la ligne sélectionnée ..

J’avais du mal à append les deux événements de clic à la ligne de données:

 e.Row.Atsortingbutes.Add("onclick", ClientScript.GetPostBackClientHyperlink(this.gvMainGrid, "Select$" + e.Row.RowIndex)); e.Row.Atsortingbutes.Add("onclick", "onGridViewRowSelected('" + e.Row.RowIndex.ToSsortingng() + "')"); 

Ajout de PostBack select après la méthode de surlignage de ligne avec ‘;’ semble avoir fonctionné.

 e.Row.Atsortingbutes.Add("onclick", "onGridViewRowSelected('" + e.Row.RowIndex.ToSsortingng() + "');" + ClientScript.GetPostBackClientHyperlink(this.gvMainGrid, "Select$" + e.Row.RowIndex)); 

Premièrement, vous ne pouvez pas appliquer de texte-décoration à un

… ou à un

d’ailleurs. Vous devez l’appliquer aux éléments à l’intérieur.

Voici quelques ajustements que vous pouvez essayer-

 e.Row.Atsortingbutes.Add("onmouseover", "this.style.cursor='hand';"; e.Row.Atsortingbutes.Add("onclick", ClientScript.GetPostBackClientHyperlink(this.gvMainGrid.ClientId, "Select$" + e.Row.RowIndex)); 

Le 1er fonctionne pour moi en code. Je n’avais rien de pratique pour tester le 2e.