gridview中怎样添加rowdataboun事件

2025-02-25 13:32:16
推荐回答(1个)
回答1:

  当鼠标放上一个Gridview的每一行时,会弹出一个悬浮框显示这一行的详细信息,将这个事件写在GridView1_RowDataBound事件中,但当用一个查询查询出新的表,GridView重新绑定数据时,悬浮框显示的信息不正确,比如说,重新绑定的GridView的第一行的ID是7,悬浮框显示的却是ID=1的数据,第二行的ID=9,显示的却是ID=2的数据,代码如下:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
dt.Clear();
dt = GetData("select * from Person");
if(e.Row.RowType == DataControlRowType.DataRow)
{
string id = dt.Rows[e.Row.DataItemIndex]["craneInfoID"].ToString();
string name = dt.Rows[e.Row.DataItemIndex]["serialNumber"].ToString();
string gender= dt.Rows[e.Row.DataItemIndex]["deviceName"].ToString();
string nationnality = dt.Rows[e.Row.DataItemIndex]["deviceType"].ToString();

Label lab1 = e.Row.FindControl("Label1") as Label;
lab1.Attributes.Add("onmouseover", "tip.show(this,'" + id + "','" + name + "','" + gender+ "','" + nationnality + "')");//当鼠标移到指定的label上时,调用自定义javascript函数显示悬浮层 }
}