2015-01-10 95 views
0
protected void OnRowDataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     //btnTargetEmp.Attributes.Add("onmouseover", "alert('hi')"); 
     //btnTargetEmp.Attributes["onmouseover"] = "alert(no)"; 
     e.Row.Attributes["onclick"] = Page.ClientScript.GetPostBackClientHyperlink(GridView2, "Select$" + e.Row.RowIndex); 
     e.Row.ToolTip = "Click to select this row."; 
     //string onmouseoverStyle = "this.style.backgroundColor='blue'"; 
     ////string onmouseoutStyle = "this.style.backgroundColor='lightbrown'"; 
     //string onmouseoverStyle1 = "this.style.backgroundColor='green'"; 
     //string onmouseoutStyle1 = "this.style.backgroundColor='lightbrown'"; 
     ////e.Row.Attributes.Add("onmouseover", onmouseoverStyle1); 
     //e.Row.Attributes.Add("onmouseout", onmouseoutStyle1); 
     e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='firebrick',this.style.cursor='pointer'"); 
     e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor"); 
     //e.Row.Attributes.Add("onmouseover", onmouseoverStyle); 
     //e.Row.Attributes.Add("onmouseout", onmouseoutStyle1); 
     //e.Row.BackColor = ColorTranslator.FromHtml("#f1c365"); 

    } 
} 

當我選擇從排GridView中能正常工作,但是當我再次打開GridView控件之前選擇行仍處於選中狀態和它的顏色變化,我想DONOT此。請幫助 。 這是彈出窗口中gridview的.aspx文件代碼。的onmouseover和onmouseout無法正常工作

 <asp:ModalPopupExtender ID="ModularPopupExtender2" runat="server" BehaviorID="modalbehavior2" PopupControlID="panel2" TargetControlID="btnTargetEmp" CancelControlID="HyperLink1" BackgroundCssClass="Background2" OnCancelScript="clickCancel();"></asp:ModalPopupExtender> 

     <asp:Panel ID="panel2" runat="server" CssClass="Popup2" align="center"> 
      <asp:Button ID="btnTargetEmp" runat="server" Text="OK" style="display:none;"/> 
      <asp:HyperLink ID="HyperLink1" runat="server" CssClass="ClosePopupCls" Font-Size="Large"><b>[x]</b></asp:HyperLink> 
<h3 id="h1"> <b> EMPLOYEES RECORD </b></h3> 
      <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" OnSelectedIndexChanged="GridView2_SelectedIndexChanged" OnRowDataBound = "OnRowDataBound" > 



       <Columns> 
        <asp:BoundField DataField="CAANO" HeaderText="CAANO" ReadOnly="True" SortExpression="CAANO" /> 
        <asp:BoundField DataField="NAME" HeaderText="NAME" SortExpression="NAME" /> 
        <asp:BoundField DataField="DESIGNATION" HeaderText="DESIGNATION" SortExpression="DESIGNATION" /> 
        <asp:BoundField DataField="PG" HeaderText="PG" SortExpression="PG" /> 
       </Columns> 

       <FooterStyle BackColor="#CCCCCC" /> 
       <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" /> 
       <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" /> 
       <SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" /> 
       <SortedAscendingCellStyle BackColor="#F1F1F1" /> 
       <SortedAscendingHeaderStyle BackColor="#808080" /> 
       <SortedDescendingCellStyle BackColor="#CAC9C9" /> 
       <SortedDescendingHeaderStyle BackColor="#383838" /> 

      </asp:GridView> 


     </asp:Panel>  

回答

0

有點jquery和2種風格是你所需要的。

的Jquery:

$('tr.row').click(
    function() { 
    //your click code 
    }).hover(
    // add/remove css class to highlight on mouse over/out 
    function() { $(this).addClass('row-highlight'); }, 
    function() { $(this).removeClass('row-highlight'); }); 

修改你的GridView

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" 
OnSelectedIndexChanged="GridView2_SelectedIndexChanged" 
OnRowDataBound = "OnRowDataBound" RowStyle-CssClass="row"> 

CSS樣式:

tr.row { 
    background-color:white; 
} 
tr.row-highlight { 
    background-color: 'firebrick'; 
    cursor:pointer; 
} 

您可以註釋掉的代碼背後,現在的屬性。

相關問題