C# sélectionner ligne datatable

Signaler
Messages postés
5
Date d'inscription
mercredi 22 juin 2016
Statut
Membre
Dernière intervention
30 juin 2016
-
Bonjour,

Je viens vers vous car je n'arrive pas à trouver de solution à mon problème..

J'ai une gridview rempli avec une datatable, je voudrais pouvoir cliquer sur une ligne pour la sélectionner. Une fois sélectionner je voudrais qu'elle change de couleur, et qu'un pop s'affiche pour afficher la ligne entière car j'ai limiter l'affichage a un certains nombre de caracteres.

J'ai un code pour l'évènement clic et le changement de couleur mais cela ne fonctionne pas. Il n'y a pas d'erreur mais quand je clique sur une ligne la table disparaît, il n'y a que le tooltip qui fonctionne :

 <asp:GridView ID="gvData" runat="server" OnRowDataBound="gvData_RowDataBound" OnSelectedIndexChanged="gvData_SelectedIndexChanged" CssClass="mygrid" AutoGenerateColumns="false">


protected void Populate()
{
string strSql = @"SELECT CAST(ID as VarChar(50)) ID, Aggregation, DateDerniereSolution, DateDescription, DerniereSolution, DescriptionDemande, FileDeTraitement, NomContact, Numero, SousRubrique, TitreDemande
                FROM DBTable";
 
 
 
DataTable DTDeskCache = DataBaseCacheDigitalHepDeskConnection.SqlDataTable(strSql, "DataBaseName");
 
gvData.DataSource = DTDeskCache;
gvData.DataBind();
}
 
 
 
 
protected void btnSearch_Click(object sender, EventArgs e)
{
Populate();
}
 
 protected void gvData_RowDataBound(object sender, GridViewRowEventArgs e)
   {
 
 
           if (e.Row.RowType == DataControlRowType.DataRow)
           {
 
               e.Row.Attributes["onclick"] = Page.ClientScript.GetPostBackClientHyperlink(gvData, "Select$" + e.Row.RowIndex);
               e.Row.ToolTip = "Click to select this row.";
 
           }
       }
 
       protected void gvData_SelectedIndexChanged(object sender, EventArgs e)
   {
       foreach (GridViewRow row in gvData.Rows)
       {
           if (row.RowIndex == gvData.SelectedIndex)
           {
               row.BackColor = ColorTranslator.FromHtml("#A1DCF2");
               row.ToolTip = string.Empty;
           }
           else
           {
               row.BackColor = ColorTranslator.FromHtml("#FFFFFF");
               row.ToolTip = "Click to select this row.";
           }
       }
   }


Merci d'avance pour vos réponses