GridView鼠标停留变色和客户端单击处理事件

在使用C#写CRM时遇到一个问题,GridView绑定了了数据后,我想在鼠标停留到GridView数据行时,行变色突出显示该行,并且鼠标点击该行时,将该条目的数据显示在GridView下面的控件自动将该行对应的数据显示出来。

我的实现步骤是:

1.增加GridView的GVSelect_RowDataBound事件

protected void GVSelect_RowDataBound(object sender, GridViewRowEventArgs e)

    {

        if (e.Row.RowType == DataControlRowType.DataRow)

        {

            //当鼠标停留时更改背景色

            e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#8EC26F'");

            //当鼠标移开时还原背景色

            e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");

            //设置悬浮鼠标指针形状为"小手"

            e.Row.Attributes["style"] = "Cursor:hand";

 

            //单击/双击 事件

            e.Row.Attributes.Add("OnClick", "ClickEvent('" + e.Row.Cells[0].Text + "')");

            //注:OnClick参数是指明为鼠标单击时间,后个是调用javascript的ClickEvent函数

        }

}

2.在页面的HTML里添加javascript函数,用来响应鼠标点击事件,因为ASP客户端不能主动调用服务端的函数,我在这里添加一个LinkButton,将其text设置为空,然后在ClickEvent(cId)函数中,调用这个LinkButton的单击事件。

<script language="javascript">

    function ClickEvent(cId)

    {

        //调用LinkButton的单击事件,btnBindData是LinkButton的ID

        document.getElementById("btnBindData").click();

    }

</script>

3.添加LinkButton的响应事件

   protected void btnBindData_Click(object sender, EventArgs e)

{

         //在这里对你需要的数据信息进行输出

         SetClientInfo();//我的处理函数

}

 

GridView鼠标停留变色和单击处理事件,当鼠标在GridView的行上停留时,将该行变色,当单击该行时,做相应处理,记得要在<gridview ></gridview> 之间 加上RowDataBound=GVSelect_RowDataBound 属性

你可能感兴趣的:(GridView鼠标停留变色和客户端单击处理事件)