2009-04-07 15 views
2

Ich habe eine Rasteransicht, die die Nachrichten anzeigt, die ein Benutzer hat. Jede Nachricht, die der Benutzer hat, wird markiert, ob er als ein Bit in meiner Datenbanktabelle gelesen oder ungelesen wurde.C#: GridView, Zeile-für-Zeile-Operationen

Gibt es eine Möglichkeit, wie ich den Stil bestimmter Zeilen in meiner Rasteransicht ändern kann, je nachdem, ob die Nachrichten gelesen oder ungelesen sind? Ich möchte die ganze Zeile mit einer ungelesenen Nachricht in Fettschrift anzeigen.

Antwort

6

Sie müssen das Ereignis RowDataBound für eine solche Aufgabe verwenden. Hier ein Beispiel:

<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound" > 
... 
</asp:GridView> 

.

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    // searching through the rows 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     bool isnew = (bool)DataBinder.Eval(e.Row.DataItem, "IsNew"); 
     if (isnew) e.Row.BackColor = Color.FromName("#FAF7DA"); // is a "new" row 
    } 
} 

Referenz: http://blog.devexperience.net/en/5/Change_background_color_of_GridView's_Rows.aspx

+1

Hot dingt! Das war schnell, ich war nur halb in der Lage, die gleiche Antwort einzutippen. ;) –