关于鼠标点击到表格的一个单元格,如何获取该表格的那一行内容

百曉生 2014-12-10 11:54:07
如图
我在表格的下边放了个按钮,如何点击按钮,获得鼠标指针所在的表格的某一行内容,求大神指点
...全文
972 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
枫0子K 2014-12-10
  • 打赏
  • 举报
回复
引用 14 楼 dongxinxi 的回复:
你5#的代码就已经写出来了啊 那个提示是说你不能将一个表达式直接作为一个语句 DataGridViewRow row = this.dataGridView1.CurrentRow; var cell1 = row.Cells[0].Value; //Convert.ToInt32(row.Cells[0].Value); var cell2 = row.Cells[1].Value; ////Convert.ToDateTime(row.Cells[1].Value);
你的问题不是要获取表格中选中行的数据吗?

// row就是选中的那一行。里面就包含了这一行的数据。
DataGridViewRow row = this.dataGridView_message.CurrentRow;
var cell1 = row.Cells[0].Value;// Cells[0]表示第一个单元格,这句代码表示获取选中行的第一个表格的内容。
// 获取的单元格内容是Object类型的,所以你用的时候就需要转换为原来数据的类型。
  • 打赏
  • 举报
回复
你5#的代码就已经写出来了啊 那个提示是说你不能将一个表达式直接作为一个语句 DataGridViewRow row = this.dataGridView1.CurrentRow; var cell1 = row.Cells[0].Value; //Convert.ToInt32(row.Cells[0].Value); var cell2 = row.Cells[1].Value; ////Convert.ToDateTime(row.Cells[1].Value);
  • 打赏
  • 举报
回复
reportforms是你自己写的?那就将里的表格控件(通常是datagridview或ListView)的修饰符改为public 然后你上面那里就可以用r.控件.CurrentRow了
百曉生 2014-12-10
  • 打赏
  • 举报
回复
引用 10 楼 Z65443344 的回复:
其实有个简单的办法 定义一个int型的全局变量,然后在表格的cellclick事件里把点击的行号存到变量里 再点击按钮的时候获取这个行号就可以了 这样即使中间进行了某些操作导致表格失去了焦点,也不会丢失
原来代码是这么写的,
 
 if (message == "购/退气信息查询")
 {
                string str_revamp = "select  Id,amount,Buy_date,operator from  sale where " + tiaojian + " ";
                reportforms r = new reportforms();
                r.str_sql = str_revamp;
                r.rdlc = "card_gas.Report_sale_select.rdlc";
                r.datasoure = "DataSet_sale_select";
                r.Show();
}
不好意思啊,没说清楚,这个表格其实是从数据库中所查询到的数据,请问怎么达到我的目的啊? 真对不住啊
百曉生 2014-12-10
  • 打赏
  • 举报
回复
引用 7 楼 duanzi_peng 的回复:
原来代码是这么写的,
 
 if (message == "购/退气信息查询")
 {
                string str_revamp = "select  Id,amount,Buy_date,operator from  sale where " + tiaojian + " ";
                reportforms r = new reportforms();
                r.str_sql = str_revamp;
                r.rdlc = "card_gas.Report_sale_select.rdlc";
                r.datasoure = "DataSet_sale_select";
                r.Show();
}
不好意思啊,没说清楚,这个表格其实是从数据库中所查询到的数据,请问怎么达到我的目的啊? 真对不住啊
於黾 2014-12-10
  • 打赏
  • 举报
回复
其实有个简单的办法 定义一个int型的全局变量,然后在表格的cellclick事件里把点击的行号存到变量里 再点击按钮的时候获取这个行号就可以了 这样即使中间进行了某些操作导致表格失去了焦点,也不会丢失
exception92 2014-12-10
  • 打赏
  • 举报
回复
百曉生 2014-12-10
  • 打赏
  • 举报
回复
引用 4 楼 Z65443344 的回复:
你是要获取当前行吗?

如果是说要获取鼠标指针所在的行,你鼠标在点击按钮的时候就已经离开了表格控件了

他应该是这个意思

在上面的表中点击某处后,再点击打印,获得该点击处所在的一行的内容,应该是可以得吧?不知道我描述的对不对
exception92 2014-12-10
  • 打赏
  • 举报
回复
引用 5 楼 u012421456 的回复:
[quote=引用 1 楼 bdmh 的回复:] CurrentRow CurrentCell
不好意思啊,还是新手,不知道这个,我去了解一下啊
引用 2 楼 ta_wuhen 的回复:
什么控件?web还是?
这个表格的内容是查询数据库的内容而显示的结果,具体也不太了解,还是新手,谢谢了啊
引用 3 楼 duanzi_peng 的回复:

   DataGridViewRow row = this.dataGridView1.CurrentRow;
            row.Cells[0];
            row.Cells[1];
还是新手,许多知识都不知道,请问这是怎么回事?您清楚吗——[/quote]

object value =  row.Cells[0];

百曉生 2014-12-10
  • 打赏
  • 举报
回复
引用 4 楼 Z65443344 的回复:
你是要获取当前行吗? 如果是说要获取鼠标指针所在的行,你鼠标在点击按钮的时候就已经离开了表格控件了
您说得有理,我想的似乎有些问题,我再问问那个让我这样做的朋友
百曉生 2014-12-10
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
CurrentRow
CurrentCell

不好意思啊,还是新手,不知道这个,我去了解一下啊


引用 2 楼 ta_wuhen 的回复:
什么控件?web还是?

这个表格的内容是查询数据库的内容而显示的结果,具体也不太了解,还是新手,谢谢了啊



引用 3 楼 duanzi_peng 的回复:

DataGridViewRow row = this.dataGridView1.CurrentRow;
row.Cells[0];
row.Cells[1];

还是新手,许多知识都不知道,请问这是怎么回事?您清楚吗——
於黾 2014-12-10
  • 打赏
  • 举报
回复
你是要获取当前行吗? 如果是说要获取鼠标指针所在的行,你鼠标在点击按钮的时候就已经离开了表格控件了
exception92 2014-12-10
  • 打赏
  • 举报
回复

   DataGridViewRow row = this.dataGridView1.CurrentRow;
            row.Cells[0];
            row.Cells[1];
            
我现在在路上 2014-12-10
  • 打赏
  • 举报
回复
什么控件?web还是?
bdmh 2014-12-10
  • 打赏
  • 举报
回复
CurrentRow CurrentCell
junzinan1 2014-12-10
  • 打赏
  • 举报
回复
顶顶你更健康
junzinan1 2014-12-10
  • 打赏
  • 举报
回复
顶顶你更健康
junzinan1 2014-12-10
  • 打赏
  • 举报
回复
顶顶你更健康
qq_24404969 2014-12-10
  • 打赏
  • 举报
回复
路过 MVO~~ ................... ............. ...........
百曉生 2014-12-10
  • 打赏
  • 举报
回复
引用 21 楼 duanzi_peng 的回复:
[quote=引用 20 楼 u012421456 的回复:] [quote=引用 17 楼 duanzi_peng 的回复:] 嗯,Cells[0].Value 对应Id值,Cells[1].Value 对应 amount 值,依次类推。
请问怎样显示出所获取的值呢[/quote]

datagridviewRow.DataBoundItem as 你的类;
再根据类去属性。[/quote] 问题已经解决,谢谢了
加载更多回复(6)

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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