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

QQ登录

只需一步,快速开始

Anyuan

高级会员

42

主题

143

帖子

1616

积分

高级会员

积分
1616
Anyuan
高级会员   /  发表于:2016-12-21 15:00  /   查看:5726  /  回复:10
     我想问一下C1flexgrid中,cell能不能直接Focus上? 我试了好几种方法都不能使。

10 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2016-12-21 15:20:59
沙发
您的意思是选择单元格么?
使用Select方法就可以做选择。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Anyuan
高级会员   /  发表于:2016-12-21 15:35:48
板凳
额......我试了一下  还是不能选择。

现在我这边的情况是,我在单元格里面填东西,写完了之后Tab一下,如果我写入的值不正确的话,就会弹出一个提示框,我点了提示框的确认之后,要选中我之前的单元格。(我之前试过让单元格进入编辑模式,同样的不好使....)

本帖子中包含更多资源

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

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-12-21 17:15:59
地板
Anyuan 发表于 2016-12-21 15:35
额......我试了一下  还是不能选择。

现在我这边的情况是,我在单元格里面填东西,写完了之后Tab一下, ...

从您的描述来看,用selectionChanging事件做感觉比较好。
在事件里判断是否正确,如果不正确,就设置e.cancel为true,选择不发生改变。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Anyuan
高级会员   /  发表于:2016-12-21 17:45:34
5#
额....我目前用的是 CellChanged事件,我在事件里面设置了e.cancel为true,但是好像也不能控制。您说的selectionChanging事件是FlexGrid里面的SelChanged事件吗?

还有就是这个属性会不会影响到单元格选择的设定?

本帖子中包含更多资源

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

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-12-22 09:24:14
6#
Anyuan 发表于 2016-12-21 17:45
额....我目前用的是 CellChanged事件,我在事件里面设置了e.cancel为true,但是好像也不能控制。您说的sele ...

是会影响的。
最好把你的Demo发过来,我看看你的Demo再说。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Anyuan
高级会员   /  发表于:2016-12-22 10:21:00
7#
demo我弄好了,您那边帮我测试一下吧!谢谢您了

本帖子中包含更多资源

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

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-12-22 12:07:26
8#
Anyuan 发表于 2016-12-22 10:21
demo我弄好了,您那边帮我测试一下吧!谢谢您了

收到。测试后给您回复。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2016-12-22 16:47:36
9#
Anyuan 发表于 2016-12-22 10:21
demo我弄好了,您那边帮我测试一下吧!谢谢您了

根据您提供的Demo,使用ValidateEdit事件比较容易处理值得校验。
不合法值弹出对话框,并且停留在该单元格。
代码参考:
  1. Private Sub C1FlexGrid1_ValidateEdit(sender As Object, e As C1.Win.C1FlexGrid.ValidateEditEventArgs) Handles C1FlexGrid1.ValidateEdit

  2.         If (e.Col = 1) Then
  3.             Try
  4.                 Dim value As Integer = Integer.Parse(C1FlexGrid1.Editor.Text)
  5.                 If (value = 0) Then
  6.                     Return
  7.                 End If
  8.             Catch ex As Exception

  9.             End Try
  10.             MsgBox("输入不正确,请重新输入!", MsgBoxStyle.Critical)
  11.             e.Cancel = True
  12.         End If
  13.     End Sub
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
Anyuan
高级会员   /  发表于:2016-12-23 16:45:51
10#
非常感谢您的支持,一直在麻烦您,很不好意思啊....
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部