天天看點

【ASP.NET】3.為GridView每行添加js點選事件

CADD.aspx頁面:

首先GridView要定義OnRowDataBound="方法名"

<%-- 3.2 結果清單 --%>
                <asp:GridView id="gvData" runat="server"  AutoGenerateColumns="false" OnRowDataBound="gvData_RowDataBound" OnRowCommand="gvData_RowCommand"  CellPadding="20" CellSpacing="20"
                    CssClass="gvPaMn01" HeaderStyle-CssClass="gvPaHd01"  RowStyle-CssClass="gvPaIt01"  AlternatingRowStyle-CssClass="gvPaIt02"  PageSize="2">
			        <AlternatingRowStyle CssClass="gvPaIt02" />
			        <Columns>
			            <asp:TemplateField HeaderText="訂單号碼" SortExpression="ORID"><ItemTemplate><asp:Label ID="lbgORID" runat="server" Text='<%# Bind("ORID") %>'/></ItemTemplate></asp:TemplateField>
			        </Columns>
		            <HeaderStyle CssClass="gvPaHd01" />
                    <RowStyle CssClass="gvPaIt01" />
		        </asp:GridView>
           

與CADD.aspx對應的CADD.aspx.cs檔案:

#region 3.3 表格綁定事件
    /// <summary>
    /// 3.3 表格綁定事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void gvData_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        try{
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                #region 設定滑鼠滑過的顔色
                //當滑鼠放上去的時候,設定新的顔色
                e.Row.Attributes.Add("onmouseover", "style.color='red'; ");
                //當滑鼠離開的時候,恢複顔色
                e.Row.Attributes.Add("onmouseout", "style.color='#000000';");

                #endregion //設定滑鼠滑過的顔色
                e.Row.Attributes["style"] = "Cursor:hand";
                int row_index = e.Row.RowIndex + 1;
                e.Row.Attributes.Add("onclick", "ClickEvent('" + row_index + "')");

            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }
    #endregion //3.3 表格綁定事件
           

CADD.aspx頁面裡面對應的js如下:

function ClickEvent(row_index) {
              var grid_view = document.getElementById('<%=gvData.ClientID %>');
              var rows = grid_view.rows;
              var CKDM = rows[row_index].cells[0].innerText;//取第一列的值
              }
           

繼續閱讀