asp.net读取GridView中某行或某单元格值

TextBox10.Text = GridView1.Rows[e.NewSelectedIndex].Cells[0].Text;试试 谢谢阿多的回答,试过了,一样的结果.本来Text就可以省略掉的吧...up单元格里是不是还有其它控件。试了一下,1楼说的好使
this.TextBox10.Text=GridView1.Rows[e.NewSelectedIndex].Cells[1].Text; 你获取的是空值吧?TextBox tb=(textbox)GridView1.Rows[e.NewSelectedIndex].Cells[1].findcontrol("TextBox10");

 

 

ASP.NET获取GridView中选中行的值
 悬赏分:110 - 解决时间:2008-4-4 15:17
我想获取当前选中行某一列的值
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
TextBox10.Text = GridView1.Rows[e.NewSelectedIndex].Cells[0].ToString();

}

但TextBox10一直是空的,是什么原因啊 ?搞了很久 , 急啊 ,你们帮我看看是什么原因啊,谢啦
问题补充:改成:TextBox10.Text = GridView1.Rows[e.NewSelectedIndex].Cells[0].Text.ToString(); 也是一样的,都获取不了值

你这样肯定找不到值的,原因是,一个单元格里面可能会有很多个控件,谁知道你要找哪一个控件呢, 你可以这样写:
((Label)GridView1.Rows[e.NewSelectedIndex].Cells[0].FindControl(这里写你要获取的值的那个控件的ID)).Text

FindControl()方法是在这个单元格里面寻找指定ID的控件,它返回的是一个object类型的对象,所以需要强制转换一下,你就按照你的那个控件的类型写在最前面的那个括号里,这样就可以了。 我的QQ是8963835,不懂你问我啊! 呵呵

很明显。GridView1.Rows[e.NewSelectedIndex].Cells[0].Value才是那个单元的值。你用tostring只是显示了它的类型。。。
回答者: 大尾巴兔子 - 魔法师 四级   4-4 10:41
[回答] DataGrid和GridView不同

首先:你代码先这样做看看行不行
GridView1.Rows[e.NewSelectedIndex].Cells[0].Text;
GridView1.Rows[e.NewSelectedIndex].Cells[0].Value.ToString();

如果都不行的话,再看下面
DataGrid可以直接通过所选行来获取某列的数据
GridView同样的代码经常无法运行
GridView 可以通过GridViewRow来获取
ABC是模版列中的控件
GridViewRow grdRow = (GridViewRow)ABC.Parent.Parent;

TextBox10.Text = grdRow.Cells[0].Text;

补充1:
如果有Text属性的话,就不用ToString()了。
你告诉你要取得GridView里面那是个什么控件?
比如是CheckBox,还是Label什么的?

悉雨辰寂
回答者: 悉雨辰寂 - 魔法师 四级   4-4 11:12
TextBox10.Text =GridView1.Rows[e.NewSelectedIndex].Cells[0].Text.ToString();

可能没有算好控件的位置,Rows[e.NewSelectedIndex]表示选中的这行,Cells[0]表示第一列,没有到控件,改成
TextBox10.Text=GridView1.Rows[e.NewSelectedIndex].Cells[0].FindControl("你要获取值的控件ID").Text;

这样应给就可以了
回答者: 想不起密码了 - 魔法学徒 一级  4-4 11:56
GridView的选择相关事件有两个:SelectedIndexChanging是处理事件前,SelectedIndexChanged是处理事件后的.代码也不一样..
改用SelectedIndexChanged事件试试对不对:

protected void GridView1_SelectedIndexChanged(object sender, GridViewSelectEventArgs e)
{
TextBox10.Text = GridView1.SelectedRow.Cells[0].ToString();

}

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值