.Net Gridview wiederherstellen abwechselnden Farben nach mouseover

Habe ich ein gridview mit der alternatingRowStyle-Eigenschaft festgelegt.

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataSourceID="SqlDataSource2" OnRowDataBound="GridView1_RowDataBound"
        onselectedindexchanged="GridView1_SelectedIndexChanged" AlternatingRowStyle-BackColor="#f0f1f3">

Ich möchte auch hervorheben, Zeilen, die der cursor über mit diesem:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)  
{  
        if (e.Row.RowType == DataControlRowType.DataRow)  
        {  
            e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#ceedfc'");  
            e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=''");  
            e.Row.Attributes.Add("style", "cursor:pointer;");

Das problem das ich habe ist, dass wenn die Maus bewegt, vorbei an der Reihe, es ist wieder zu weiß, nicht zu der vorherigen Farbe, die anders als in der Hälfte der Zeilen. Ich dachte, ich könnte speichern Sie die aktuelle rowcolor, bevor Sie es für jede "onmouseove" event, aber das scheint teuer und quälend, wenn die schnelle Bewegung der Maus könnte Durcheinander zu bringen.

Ich nicht sehen, eine Eigenschaft gridview Zeilen mir zu sagen, wenn es alternativen Zeile, aber würde ein einfaches odd/even Bestimmung auf der rowindex werden hier am besten?

Jede bessere Vorschläge?

Dank.

Dan

InformationsquelleAutor nycdan | 2011-01-04
Schreibe einen Kommentar