找回密码
 立即注册

QQ登录

只需一步,快速开始

carlyuan1115

注册会员

4

主题

16

帖子

38

积分

注册会员

积分
38

微信认证勋章

最新发帖
carlyuan1115
注册会员   /  发表于:2016-3-29 17:18  /   查看:4057  /  回复:7
GCDateTimeCell里获得焦点时有时候会弹不出dropdown来,如何用代码来控制,只要是activecell就弹出dropdown来?

7 个回复

倒序浏览
robert
金牌服务用户   /  发表于:2016-3-30 09:33:56
沙发
设置GcDataTime上的DropDown属性里的AutoDropDown子属性为True,看是否可以解决问题
  1.             GcDateTimeCell gcDateTimeCell = new GcDateTimeCell();
  2.             gcDateTimeCell.DropDown.AutoDropDown = true;
复制代码
回复 使用道具 举报
carlyuan1115
注册会员   /  发表于:2016-3-30 09:48:06
板凳
已经把这个属性设为true了
在某个按钮的事件里,做这个cell的日期检查时,发现值有错误,用下面的代码把焦点设回到这个cell,这种情况下,虽然AutoDropDown是true,可是还是弹不出dropdown来

  1.                     Me.mlt.CurrentCellPosition = New CellPosition(i, 2)
  2.                     Me.mlt.Focus()
复制代码


是这样设焦点的方式错误吗?还是需要别的做法?
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2016-3-30 09:53:01
地板
在Focus之后调用一下BeginEdit方法,看是否可以
  1. Me.mlt.CurrentCellPosition = New CellPosition(i, 2)
  2. Me.mlt.Focus()
  3. Me.mlt.BeginEdit(True)
复制代码

评分

参与人数 1金币 +999 收起 理由
Alice + 999

查看全部评分

回复 使用道具 举报
carlyuan1115
注册会员   /  发表于:2016-3-30 10:28:59
5#
本帖最后由 carlyuan1115 于 2016-3-30 10:38 编辑

没有效果
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2016-3-30 11:30:17
6#
我这试验了下是可以的,不知道是不是你的项目里有其他的什么设置。
是否可以上传一个可以重现问题的示例工程?
回复 使用道具 举报
carlyuan1115
注册会员   /  发表于:2016-3-30 11:44:28
7#
robert 发表于 2016-3-30 11:30
我这试验了下是可以的,不知道是不是你的项目里有其他的什么设置。
是否可以上传一个可以重现问题的示例工 ...

尝试了各种做法,基本上解决了。
就是把focus设定和currentcell的设定反过来就行了。
(但是因为一些项目别的原因,又需要在focus之前清空一下currentcell)
原理不是很清楚。

  1. Me.mlt.CurrentCellPosition = CellPosition.Empty
  2. Me.mlt.Focus()
  3. Me.mlt.CurrentCellPosition = New CellPosition(i, 2)
复制代码
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2016-3-30 12:02:36
8#
解决了就好
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部