找回密码
 立即注册

QQ登录

只需一步,快速开始

loacher
论坛元老   /  发表于:2012-12-17 10:30  /   查看:6809  /  回复:7
检索出来数据之后,想设置单独其中一行的某些字段的TabStop=False,怎么设置?

7 个回复

倒序浏览
wedy.wang
初级会员   /  发表于:2012-12-17 13:55:00
沙发
回复 1楼loacher的帖子

这个属性在运行起来之后,是无法设置的。
如果你想让这个Cell不能被选中,你可以设置Cell.Selectable属性为False
回复 使用道具 举报
loacher
论坛元老   /  发表于:2012-12-17 15:27:00
板凳
不是这个效果,设置好之后,按tab键,不进入这个cell,但是鼠标是可以点的,有哪个属性可以设置吗
回复 使用道具 举报
loacher
论坛元老   /  发表于:2012-12-18 10:09:00
地板
还请wedy.wang 兄,帮忙看看
回复 使用道具 举报
wedy.wang
初级会员   /  发表于:2012-12-18 10:48:00
5#
回复 4楼loacher的帖子

是不是希望在有些场景下按Tab可以进入,有些场景下不能进入?
回复 使用道具 举报
loacher
论坛元老   /  发表于:2012-12-18 12:39:00
6#
是这样的,鼠标点,任何时候都可以进入,就是tab的时候,有时候可以进有时候不可以进
回复 使用道具 举报
wedy.wang
初级会员   /  发表于:2012-12-18 13:58:00
7#
回复 6楼loacher的帖子

这样的话,你需要自定义一个IAction,并将它注册给Tab键到MultiRow的快捷方式当中。
参考下面的代码:
  1. public class CustomMoveToNextCell : IAction
  2.         {
  3.             public string DisplayName
  4.             {
  5.                 get { return "CustomMoveToNextCell"; }
  6.             }

  7.             public bool CanExecute(GcMultiRow target)
  8.             {
  9.                 return SelectionActions.MoveToNextCell.CanExecute(target);
  10.             }

  11.             public void Execute(GcMultiRow target)
  12.             {
  13.                if (this.CanExecute(target))
  14.                 {
  15.                     SelectionActions.MoveToNextCell.Execute(target);
  16.                     CellPosition currentPos = target.CurrentCellPosition;
  17.                     Cell currentCell = target[currentPos.RowIndex,currentPos.CellIndex];
  18.                     if ("currentCell 不满足TapStop的条件")
  19.                     {
  20.                         //再往后面寻找一个
  21.                         SelectionActions.MoveToNextCell.Execute(target);
  22.                     }
  23.                 }
  24.             }
  25.         }
  26.        private void Form1_Load(object sender, EventArgs e)
  27.         {
  28.             this.gcMultiRow1.ShortcutKeyManager.DefaultModeList.Remove(new ShortcutKey(SelectionActions.MoveToNextCell, Keys.Tab));
  29.             this.gcMultiRow1.ShortcutKeyManager.DefaultModeList.Add(new ShortcutKey(new CustomMoveToNextCell(), Keys.Tab));
  30.         }
复制代码
回复 使用道具 举报
loacher
论坛元老   /  发表于:2012-12-18 16:29:00
8#
赞一个,多谢兄台
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部