找回密码
 立即注册

QQ登录

只需一步,快速开始

PSHlujiasong

注册会员

6

主题

21

帖子

182

积分

注册会员

积分
182

[已处理] Multirow

PSHlujiasong
注册会员   /  发表于:2016-3-15 16:57  /   查看:5514  /  回复:6
多谢版主回答
还有一个问题,请问如何捕捉MultiRow中单元格的Enter事件。

5 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2016-3-15 18:00:26
沙发
谢谢反馈。
MultiRow提供了Enter/CellEnter事件。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
PSHlujiasong
注册会员   /  发表于:2016-3-15 19:14:02
板凳
感谢版主的回答,但是还有以下问题
① CellEnter事件在点击单元格的时候就被触发了;Enter事件的参数是EventArgs类型的,无法捕捉到具体哪个单元格,我的需求是当光标定位在最后一行的第一列的单元格时,按下enter键,新增一行。
② 我的multirow是有初始行数的,并且设置为行选择,为什么初始化会选中最后一行,是有什么属性设置的吗。
③ 如果我想清除当前multirow的所有内容,有没有什么方法,我用了MultiRow.Rows.Clear()方法,它把所有行删除了,我只想清除内容,不想删除行,有没有什么方法。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-3-16 10:05:49
地板
PSHlujiasong 发表于 2016-3-15 19:14
感谢版主的回答,但是还有以下问题
① CellEnter事件在点击单元格的时候就被触发了;Enter事件的参数是Eve ...

1.键盘上的Enter键和Enter事件是两个不同的概念,Enter事件当进入单元格的时候会被触发(这是.net标准事件,你可以去网上看下微软的资料了解下)。
Enter键,可以通过KeyDown/KeyPress/KeyUp事件触发,然后判断是不是Enter键,如果条件合适,增加一行。

2.主要看你的rowcount是在什么时机设置的。
通过CurrentCell/CurrentCellPosition/CurrentRow等属性都可以将选择设置为你想要的位置。

3.Rows.Clear方法是用来删除行。
没有删除数据的方法。
如果你是数据绑定,就设置DataSource=null。
如果是非绑定模式,可以通过键盘的delete键删除数据,或是用SetValue方法设置某个单元格的内容为空。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
PSHlujiasong
注册会员   /  发表于:2016-3-16 15:53:34
5#
Alice 发表于 2016-3-16 10:05
1.键盘上的Enter键和Enter事件是两个不同的概念,Enter事件当进入单元格的时候会被触发(这是.net标准事 ...

非常感谢版主的回答
关于第2点,rowCount在什么时机设置可以让它选中第一行啊,我现在选中了最后一行,由于CurrentRow是只读的,对外没有提供set方法,所以不能通过它来设置选中第一行,请问版主有什么办法吗
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-3-16 17:20:27
6#
PSHlujiasong 发表于 2016-3-16 15:53
非常感谢版主的回答
关于第2点,rowCount在什么时机设置可以让它选中第一行啊,我现在选中了最后一行, ...

如果是行选,设置CurrentCellPosition属性就可以改变行位置。
  1. this.gcMultiRow1.CurrentCellPosition = new GrapeCity.Win.MultiRow.CellPosition();
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部