asp.net GridView 控件增加行单击事件

怎样为GridView控件实现行单击行时获取该行的数据?例如:单击第一行数据时弹出js对话框显示该行第一个单元格内的数据。请高手指点迷津!注:不使用添加按钮列的方法,要实... 怎样为GridView 控件实现行单击行时 获取该行的数据?
例如:单击第一行数据时 弹出js对话框 显示该行第一个单元格内的数据。
请高手指点迷津!
注:不使用添加按钮列的方法,要实现在一行的任意位置单击,都能弹出js对话框,显示该行的第一个单元格内容。
展开
 我来答
supercomputer
2008-12-16 · TA获得超过342个赞
知道小有建树答主
回答量:309
采纳率:100%
帮助的人:415万
展开全部
这个效果不难做的,我给出一个完整例子:
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='';");
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
YBBLACK
2008-12-16 · TA获得超过189个赞
知道小有建树答主
回答量:170
采纳率:0%
帮助的人:180万
展开全部
没有办法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式