2017-08-30 2 views
0

J'ai un GridView où je liste les valeurs pour les sociétés clientes. Prenez par exemple la grille répertoriée le nom de l'entreprise et une valeur. Je veux donner un gris clair couleur de fond à tous Company 1 « lignes s, puis blanc pour Company 2 » lignes s et puis de nouveau à gris clair pour Company 3 lignes de et alternant comme ça.Définition de la couleur d'arrière-plan de la ligne gridview en alternant par type de données de ligne


Company 1 12

Company 1 15

Société 1 18


Company 2 25

Company 2 78

Company 2 109


Company 3 66

Company 3 1


cela peut-il être fait simplement en cas _RowDataBound, et si oui, comment?

Répondre

0

j'ai réussi à utiliser cette question

alternate color gridview rows based on change of cell value asp.net

pour créer ma propre solution en C#. Donc, fondamentalement, créez deux variables globales. Ensuite, dans le _RowDatabound faire le ci-dessous

int customerCompanyID = Convert.ToInt32(dr["IRPCustomerID"]); 

if (customerCompanyID != this._trafficSourceGridCurrentCompanyID) 
      { 
       if (this._trafficSourceGridGroupingCssClass == 
"BackGround2") 
       { 
        this._trafficSourceGridGroupingCssClass = "BackGround1"; 
       } 
       else 
       { 
        this._trafficSourceGridGroupingCssClass = "BackGround2"; 
       } 

       this._trafficSourceGridCurrentCompanyID = customerCompanyID;      
      } 

      e.Row.CssClass = _trafficSourceGridGroupingCssClass; 
0

En RowDataBound événement, vous pouvez faire quelque chose comme ceci:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    // check if its not a header or footer row 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     // get value from first cell of gridview 
     string companyName = e.Row.Cells[0].Text; 

     switch (companyName) 
     { 
      case "Company 1": 
       e.Row.BackColor = System.Drawing.Color.LightGray; 
       break; 
      case "Company 2": 
       e.Row.BackColor = System.Drawing.Color.White; 
       break; 
      case "Company 3": 
       e.Row.BackColor = System.Drawing.Color.LightGray; 
       break; 
      default: 
       break; 
     } 
    } 
}