关于C#中 对于datagridview 单击任意一个单元格,获取那一行数据的语句

stringstrBookName=dataGridView1.Rows[0].Cells[1].Value.ToString();为什么这样写了后无论点击哪行的单元格都... string strBookName = dataGridView1.Rows[0].Cells[1].Value.ToString(); 为什么这样写了后无论点击哪行的单元格都是第一行的数据呢? 该怎么改呢?谢谢各位了~ 展开
 我来答
kucai_3000
推荐于2017-11-26 · TA获得超过220个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:239万
展开全部
这句代码是写在dataGridView1控件的CellClick事件中的吗?如果是的话,代码如下:
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
//被点击的单元格的行索引号在事件的参数e中,e.RowIndex是行索引,e.ColumnIndex是列索引
string strBookName=dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString());
//.......其它代码
}
更多追问追答
追问
恩,谢谢,我刚用过了,但是第二行语句就有问题了
DataRow dr = dbc.Query(string.Format("select * from book where bookname='{0}'", strBookName)).Tables[0].Rows[0];
Tables[0].Rows[0]就报错了 是怎么回事呢?
追答
dbc.Query(...)是个什么东东?报错,报什么样的错呢?
宇燕之歌
2013-11-01
知道答主
回答量:2
采纳率:0%
帮助的人:2843
展开全部
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (string strBookName=dataGridView1.Rows[e.RowIndex].Cells[1].Value!=null)
{
string strBookName=dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString());
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ansiansi
2013-11-01 · TA获得超过294个赞
知道小有建树答主
回答量:650
采纳率:0%
帮助的人:383万
展开全部
Rows[0]当然是第一行 SelectedRow 获取对 GridViewRow 对象的引用,该对象表示控件中的选中行。
SelectedValue 获取 GridView 控件中选中行的数据键值。
具体可以去msdn的api看
更多追问追答
追问
谢谢~ 我用了selectedrows  可运行的时候报错了,
string strBookName = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
索引超出范围。必须为非负值并小于集合大小。 怎么解决呢?
追答
首先你得在前台启用 启用选定内容 然后在服务端事件那里选择SelectedIndexChanging事件,双击会在后台出现代码,然后在里面获取,不然程序不知道你选的是哪行,获取就这么写
string s = GridView1.SelectedRow.Cells[1].Text; cells里是第几个单元格
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式