asp.net GridView 控件增加行单击事件
怎样为GridView控件实现行单击行时获取该行的数据?例如:单击第一行数据时弹出js对话框显示该行第一个单元格内的数据。请高手指点迷津!注:不使用添加按钮列的方法,要实...
怎样为GridView 控件实现行单击行时 获取该行的数据?
例如:单击第一行数据时 弹出js对话框 显示该行第一个单元格内的数据。
请高手指点迷津!
注:不使用添加按钮列的方法,要实现在一行的任意位置单击,都能弹出js对话框,显示该行的第一个单元格内容。 展开
例如:单击第一行数据时 弹出js对话框 显示该行第一个单元格内的数据。
请高手指点迷津!
注:不使用添加按钮列的方法,要实现在一行的任意位置单击,都能弹出js对话框,显示该行的第一个单元格内容。 展开
展开全部
这个效果不难做的,我给出一个完整例子:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.BindList();
}
}
//这个函数是为GridView绑定数据的,具体数据,你自己从数据库中读
private void BindList()
{
DataTable table = new DataTable();
table.Columns.Add("userName", Type.GetType("System.String"));
table.Columns.Add("userSex", Type.GetType("System.String"));
for (int i = 0; i < 10; i++)
{
DataRow row = table.NewRow();
row[0] = "用户" + i.ToString();
row[1] = i % 2 == 0 ? "男" : "女";
table.Rows.Add(row);
}
this.GridView1.DataSource = table;
this.GridView1.DataBind();
}
//这个函数是关键,当数据行绑定后发生
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//下面三句代码可以实现你的效果,如果不合适,自己可以比照着修改一下。
string cellvalue = e.Row.Cells[0].Text;
string js = string.Format("alert(\"{0}\");", cellvalue);
e.Row.Attributes.Add("onclick", js);
//下面两句代码是添加鼠标效果,可以省略,当鼠标移动到行上时,变颜色
e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#ccddff',this.style.fontWeight='Bold';");
//当鼠标离开的时候 将背景颜色还原的以前的颜色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor,this.style.fontWeight='';");
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
this.BindList();
}
}
//这个函数是为GridView绑定数据的,具体数据,你自己从数据库中读
private void BindList()
{
DataTable table = new DataTable();
table.Columns.Add("userName", Type.GetType("System.String"));
table.Columns.Add("userSex", Type.GetType("System.String"));
for (int i = 0; i < 10; i++)
{
DataRow row = table.NewRow();
row[0] = "用户" + i.ToString();
row[1] = i % 2 == 0 ? "男" : "女";
table.Rows.Add(row);
}
this.GridView1.DataSource = table;
this.GridView1.DataBind();
}
//这个函数是关键,当数据行绑定后发生
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//下面三句代码可以实现你的效果,如果不合适,自己可以比照着修改一下。
string cellvalue = e.Row.Cells[0].Text;
string js = string.Format("alert(\"{0}\");", cellvalue);
e.Row.Attributes.Add("onclick", js);
//下面两句代码是添加鼠标效果,可以省略,当鼠标移动到行上时,变颜色
e.Row.Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;this.style.backgroundColor='#ccddff',this.style.fontWeight='Bold';");
//当鼠标离开的时候 将背景颜色还原的以前的颜色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=currentcolor,this.style.fontWeight='';");
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有办法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询