怎样获取GridView行被选中的值?

xiaolongitit 2011-03-13 11:10:56
怎样在Button1_Click事件中获取GridView行被选中的第一列的值?

比如:
protected void Button1_Click(object sender, EventArgs e)
{
//怎样获取选中那一行第一列的值。
}
事件中。
...全文
203 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanqiang456 2011-03-16
  • 打赏
  • 举报
回复
设置 DATAKEYNAME
liuxing19870629 2011-03-16
  • 打赏
  • 举报
回复
看错了,是第一列,我还以为是绑定的key
int row = ((GridViewRow)((eButton)sender).NamingContainer).RowIndex;
string id= GridView1.rows[row][1].value.ToString();
liuxing19870629 2011-03-16
  • 打赏
  • 举报
回复
int row = ((GridViewRow)((eButton)sender).NamingContainer).RowIndex;
string id = GridView1.DataKeys[row]["ID"].ToString();
IT0329 2011-03-16
  • 打赏
  • 举报
回复
wfxdage 2011-03-16
  • 打赏
  • 举报
回复
string aa=GridView1.Rows[GridView1.SelectIndex].Cells[0].Text();
xiaolongitit 2011-03-14
  • 打赏
  • 举报
回复
//此按钮不嵌套在GridView之内,在外。
protected void Button2_Click(object sender, EventArgs e)
{
string aa =GridView1.SelectIndex.ToString();
System.Windows.Forms.MessageBox.Show(aa);
}

//选中行的代码,selectx是js的一个函数方法
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
 e.Row.Attributes.Add("onclick", "this.Selected=true;selectx
(this,'"+e.Row.RowIndex.ToString()+"')");
}
}

js代码://选中GridView函数
var prevselitem=null;
function selectx(row,index)
{
alert(index);
if(prevselitem!=null)
{
prevselitem.style.backgroundColor='#ffffff';
}

row.checked=true;
row.style.backgroundColor='#e6ffae';
prevselitem=row;

}


为什么获取的GridView1.SelectIndex.ToString(); 值总是-1,晕死了,还没解决。。。。。。。。
格桑花 2011-03-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 alan_219_2008 的回复:]
GridView1.Rows[GridView1.SelectIndex].Cells[0].Text
[/Quote]
+++
calmzeal 2011-03-14
  • 打赏
  • 举报
回复
我是一楼 看不到图
不是用 自带的 Select Command 而是 自定义的 checkbox的话
得改下,用循环遍历所有列
然后取出选中的
for (i<GridView1.Rows.Count)
{
CheckBox a = (CheckBox)GridView1.Rows[i].FindControl("CheckBox1");
if (a.Checked)
{...}
}
xiaolongitit 2011-03-13
  • 打赏
  • 举报
回复
项目中不需要CheckBox控件的那种,就直接点击选中的。

效果图如下
yutian_31 2011-03-13
  • 打赏
  • 举报
回复
通过FindControl 找到选中的那个CheckBox
然后判断checkbox是否选中,如果选中 取得其ID值,
然后依据此ID在GridView中取你所需要的值
子夜__ 2011-03-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiaolongitit 的回复:]

为什么GridView1.SelectIndex=-1;是不是没真正被选中啊。?高手求救。。。
[/Quote]

GridView1.SelectIndex=-1

这个就是没选中了。。

  protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[列的索引].Text
}

}
alan_219_2008 2011-03-13
  • 打赏
  • 举报
回复
GridView1.SelectIndex=-1
没选中
alan_219_2008 2011-03-13
  • 打赏
  • 举报
回复
GridView1.Rows[GridView1.SelectIndex].Cells[0].Text
xiaolongitit 2011-03-13
  • 打赏
  • 举报
回复
为什么GridView1.SelectIndex=-1;是不是没真正被选中啊。?高手求救。。。
calmzeal 2011-03-13
  • 打赏
  • 举报
回复
GridView1.Rows[GridView1.SelectIndex].FindControl()

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧