找回密码
 立即注册

QQ登录

只需一步,快速开始

chenke79

高级会员

23

主题

98

帖子

1687

积分

高级会员

积分
1687

活字格认证

chenke79
高级会员   /  发表于:2011-7-22 16:49  /   查看:11139  /  回复:12
multirow行中的按钮buttoncell是否具有类似ContainsFocus的属性:

在multirow行中有textboxcell T1 以及 buttoncell B1

在multirow的CellValidating事件中对T1做了一些验证,即当焦点从T1移开时,会验证T1的输入是否合法.然后会报个Message,并将焦点返回T1.

现在要求,在当焦点从T1移到B1按钮去按下B1按钮的时候,不做这个验证(移到其他控件时依然要做,只是移到B1不做).
如果B1是Multirow外的按钮,就可以用B1.ContainsFocus来判断,是否T1移开后是到B1.

但B1是Multirow中的buttoncell,它不具备这个ContainsFocus属性,请问怎么来做呢?

12 个回复

倒序浏览
barrylei
超级版主   /  发表于:2011-7-22 17:22:00
沙发
在模板里把ButtonCell的Selectable设置成False,就可以了。
回复 使用道具 举报
chenke79
高级会员   /  发表于:2011-7-22 17:33:00
板凳
非常感谢!
回复 使用道具 举报
chenke79
高级会员   /  发表于:2011-7-22 17:37:00
地板
追加问一下

我在multirow的CellContentClick中给Cell赋值,,,

有时怎么看不到新赋的值?

Me.GcMultiRow1.Rows(e.RowIndex).Cells("txtSyohinCd").Value = "XXXXX"
回复 使用道具 举报
barrylei
超级版主   /  发表于:2011-7-22 17:56:00
5#

回复 4# chenke79 的帖子

能给我一个小Sample来重现你的问题吗?信息有点少。
回复 使用道具 举报
chenke79
高级会员   /  发表于:2011-7-22 18:22:00
6#
在做了这步操作后出的问题:
"在模板里把ButtonCell的Selectable设置成False,就可以了。 "
回复 使用道具 举报
barrylei
超级版主   /  发表于:2011-7-22 18:44:00
7#
是不是txtSyohinCd正在编辑状态的时候就看不到新赋的值,如果txtSyohinCd不再编辑状态就可以?
回复 使用道具 举报
chenke79
高级会员   /  发表于:2011-7-28 17:53:00
8#
似乎是的,怎么解决之?
回复 使用道具 举报
barrylei
超级版主   /  发表于:2011-7-28 19:52:00
9#
参考下面的Codes
第一个条件:单击是一个ButtonCell
第二个条件:你要设置值的Cell是txtSyohinCd
第三个条件:当前GcMultiRow在编辑状态

  1. Private Sub gcMultiRow1_CellContentClick_1(sender As Object, e As CellEventArgs)
  2.         If e.CellName = "buttonCell1" AndAlso Me.gcMultiRow1.CurrentCell.Name = "txtSyohinCd" AndAlso Me.gcMultiRow1.IsCurrentCellInEditMode Then
  3.                 Me.gcMultiRow1.EditingControl.Text = "Your value"
  4.         End If
  5. End Sub

复制代码
回复 使用道具 举报
chenke79
高级会员   /  发表于:2011-7-29 14:39:00
10#
按上面代码改了,还是有点问题

如果我是焦点先落在txtSyohinCd,再按按钮的话,设置值没问题


如果我焦点没有停在txtSyohinCd,再按按钮,值仍保持原来的值,没有变为新的.
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部