请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

老皮

注册会员

10

主题

35

帖子

168

积分

注册会员

积分
168
老皮
注册会员   /  发表于:2020-10-29 09:15  /   查看:4699  /  回复:13
在grid初始化之后,表格中只有表头没有数据的情况下,点击表头可以获取到表头行号,正常是-2,当我检索出数据,选择一行之后,再去点击表头,获取到的行号就一直是刚才选择行的行号,是不是因为光标已经落在选择行上了,所以获取的就只能是选择行的行号,麻烦大神帮忙解决一下

13 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-29 11:09:00
沙发
“点击表头可以获取到表头行号”,这一步是通过代码还是其他方式如何获取行号的。请描述一下问题的详细重现步骤或者附上一个可以重现问题的sample
回复 使用道具 举报
老皮
注册会员   /  发表于:2020-10-29 14:55:50
板凳
Richard.Ma 发表于 2020-10-29 11:09
“点击表头可以获取到表头行号”,这一步是通过代码还是其他方式如何获取行号的。请描述一下问题的详细重现 ...

我用grid.Selection.TopRow可以获取到表头的行号,用grid.Row也可以获取到表头行号,这几个方法我都实验了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-29 17:55:32
地板
要获取当前点击的单元格的行,列序号,可以在点击事件中使用HitTest方法来获取,下面的代码是c# 的,你可以参考一下,VB写法类似

  1.         private void C1FlexGrid1_MouseClick(object sender, MouseEventArgs e)
  2.         {
  3.             var hitinfo = c1FlexGrid1.HitTest();
  4.             MessageBox.Show(hitinfo.Row.ToString());
  5.         }
复制代码
回复 使用道具 举报
老皮
注册会员   /  发表于:2020-10-30 15:10:12
5#
Richard.Ma 发表于 2020-10-29 17:55
要获取当前点击的单元格的行,列序号,可以在点击事件中使用HitTest方法来获取,下面的代码是c# 的,你可以 ...

Private Sub DataFlexGrid_Click(sender As Object, e As EventArgs) Handles DataFlexGrid.Click
       Dim a = DataFlexGrid.HitTest.Row
end sub

我没在鼠标的点击事件中写,我这个写法每次都返回-1,是因为事件不对的原因吗
回复 使用道具 举报
老皮
注册会员   /  发表于:2020-10-30 15:20:22
6#
Richard.Ma 发表于 2020-10-29 17:55
要获取当前点击的单元格的行,列序号,可以在点击事件中使用HitTest方法来获取,下面的代码是c# 的,你可以 ...

版主,我可能没表达明白我的业务,我选择行需要给其他的textbox赋对应的值,赋值之后用户会去修改这些textbox,如果用户误点了表头,就会走进这个行选择事件中,把刚才修改完值的textbox重新赋值,所以我需要避免这种情况,在做行选择处理之前判断一下点击的是哪一行
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-30 16:08:59
7#
HitTest返回的就是对应的行号,只有鼠标点空白区域是才会显示-1,你上传一个可以重现问题的demo我验证一下问题原因
回复 使用道具 举报
老皮
注册会员   /  发表于:2020-10-30 16:55:53
8#
Richard.Ma 发表于 2020-10-30 16:08
HitTest返回的就是对应的行号,只有鼠标点空白区域是才会显示-1,你上传一个可以重现问题的demo我验证一下 ...

因为我们自己把grid又封装了一下,我自己再测试一下不封装的grid是否好用吧
回复 使用道具 举报
老皮
注册会员   /  发表于:2020-10-30 17:03:19
9#
Richard.Ma 发表于 2020-10-30 16:08
HitTest返回的就是对应的行号,只有鼠标点空白区域是才会显示-1,你上传一个可以重现问题的demo我验证一下 ...

我测试了,是我们自己封装的原因,谢谢你
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-30 17:04:45
10#
不客气,找到了问题原因就好
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部