GcSpreadSheet自定义Tab键选择

  最开始的时候需要在GcSpreadSheet中按Tab在需要输入的cell中切换,在模板中定义Tab的切换规则;后来又有一个新的要求,因为在使用的时候会出现数据不平的情况,这个时候需要在标记中的不平数据中切换,如果仍然用Tab键操作的话,就需要禁用原有的在所有输入cell中切换,添加一个新的规则,然后在平完数据之后又需要更换Tab的规则,这时候就需要删除了在不平数据中切换规则,重新添加原规则。记录下来防止下次忘记了!

private KeyValuePair<KeyStroke, SpreadAction> loadTabKey =new KeyValuePair<KeyStroke,SpreadAction>();// 备份的Tab按钮

  删除模板中定义的Tab键规则

private void RemoveKeyTab()
{
  Dictionary<GrapeCity.Windows.SpreadSheet.UI.KeyStroke, GrapeCity.Windows.SpreadSheet.UI.SpreadAction> keyMap = gcSpreadSheet1.View.KeyMap;
  var tabKey = keyMap.First(k => k.Key.KeyCode == Key.Tab);// 从KeyMap中找到Tab键
  loadTabKey=tabKey;// 在删除之前先备份下
  keyMap.Remove(tabKey.Key);// 删除Tab键
}

  将删除的Key键规则添加进集合

 private void AddKeyTab()
 {
   Dictionary<GrapeCity.Windows.SpreadSheet.UI.KeyStroke, GrapeCity.Windows.SpreadSheet.UI.SpreadAction> keyMap = gcSpreadSheet1.View.KeyMap;
   var tabKey = keyMap.First(k => k.Key.KeyCode == Key.Tab);// 从KeyMap中找到Tab键
   keyMap.Remove(tabKey.Key);// 删除Tab键
   keyMap.Add(loadTabKey.Key, loadTabKey.Value);// 重新添加Tab键,使用备份的Tab键功能
 }

  重新注册Tab键,使用这个之后会导致按Tab之后从单元格一个一个切换,小心跟原来的Tab功能错乱(比如刚开始的时候在模板中定义按Tab只在需要输入的Cell中切换,这个时候如果使用这个重新注册的Tab就会在所有cell中切换,模板中定义的就不能用了)

private void AddNewKeyTab
{
    keyMap.Add(new GrapeCity.Windows.SpreadSheet.UI.KeyStroke(Key.Tab, ModifierKeys.None), new GrapeCity.Windows.SpreadSheet.UI.SpreadAction(GrapeCity.Windows.SpreadSheet.UI.SpreadActions.NavigationNext));
}

  从一个cell跳转到另一个cell

int rowindex=0,columnindex=0;
gcSpreadSheet1.ActiveSheet.SetActiveCell(rowindex, columnindex);
时间: 2024-11-08 17:05:14

GcSpreadSheet自定义Tab键选择的相关文章

如何 TabHostFragment自定义 tab键(indicator)

1 获得 tabHostFragment: ActionBarActivity activity2 = (ActionBarActivity) activity; mTabHost = new FragmentTabHost(activity2); mTabHost.setup(getActivity(),getChildFragmentManager(),R.id.content_frame); 2 加入系统默认的indicator mTabHost.addTab(mTabHost.newTa

Qt之Tab键实现(自由切换焦点)

在Qt中,有一些特殊的按键比如说Tab键,默认Tab事件(切换焦点)被先捕获了,所以如果想自定义Tab键的使用应该如何实现呢? 在实际需求中我主要是实现QLineEdit.QCheckBox.QPushButton.QToolButton之间的切换,可以根据自己的程序修改切换顺序.当然如果自己不去实现Tab键的功能,就像前面所言,Qt也会去捕获Tab键切换焦点,只不过顺序是死的!那么要想灵活的切换应该怎么实现呢? 1.安装事件过滤器 realm_line_edit->installEventFi

mapreduce中设置自定义的输入类,进行文本解析(默认以tab键为分隔符)

job.setInputFormatClass(KeyValueTextInputFormat.class);\\此时map端输入的键的内容为第一个tab键以左的内容,值得内容为第一个tab键以右的内容

[Eclipse插件] Eclipse设置Tab键为空格(ctrl+shirt+f格式化生效)!

自定义format格式,用空格替换Tab键,ctrl+shit+f格式化后生效: 设置Eclipse中按Tab键为4个空格,这里标记下! Window-->Preferences-->Java-->Code Style-->Formatter 然后右边选择 Edit...按钮,在General Settings页中 Tab policy 右边的下拉框,选择Space only! 然后下面的Indentation size 和 Tab size 都设置成你要的空格数即可!一般是4个空

source insight 保存时删除多余空格,去除多余空格 space tab键

source insight 保存时删除多余空格,去除多余空格 space tab键 摘自:https://blog.csdn.net/lanmanck/article/details/8638391 2013年03月05日 15:57:28 lanmanck 阅读数:16527更多 个人分类: 嵌入式/Linux/C语言 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lanmanck/article/details/8638391 上传源码时

SecureCRT ,可是进入模拟器后TAB键还是无法补全

SecureCRT是做网络,路由,交换机等设备的人都知道的工具 ,可是进入模拟器后TAB键还是无法补全,就很懊恼了. 设置步骤: 1)打开SecureCRT软件,选项—全局选项—常规—默认的会话设置—编辑默认的设置—连接—-右侧的协议选择为Telnet : 2)在左侧,选择telnet,在右侧的高级框里“强制每次一个字符模式”勾上,确定: 3)一直点击“确定”,最后重启SecureCRT软件就可以了

IAR修改工程名称、Tab键设置

IAR 修改工程名称 很多时候用IAR开发都是基于已有工程模板开发的,但是工程模板的名称经常让人头疼:以下是修改办法: 从一个实例工程复制后缀名为"dep,ewd,ewp,eww"的四个文件,并将其重命名为 你自己的名字,如:enddev_module.dep,enddev_module.ewd,enddev_module.ewp,enddev_module.eww. 修改右键打开enddev_module.eww文件,并修改该文件中的中的"<path>$WS_D

如何设置vim中tab键缩进---配置初始化设置

问题: Linux系统下,Tab键默认为8个字符,需呀将其修改为4个字符的方式使用 步骤: 1.在用户根陌路下创建文件名为 .vimrc 的系统文件 [[email protected] ~]# cd ~ [[email protected] ~]# pwd /root [[email protected] ~]# vim .vimrc 2.在文件中输入下面的内容并保存 输入内容: set tabstop=4 set shiftwidth=4 [说明] tabstop 表示一个 tab 显示出来

SWT对于监听Tab键的理解

最近,在些一个SWT的Diglog因为觉得里面的Button不好用,所以自己手动编写了一个Button类继承Cavas,但是发现对于键盘的Tab按钮并没有什么反应,为了想做到与SWT自带的Button一样对Tab事件的监听,就顺带研究了一下这个Tab按钮是如何实现的,先说说SWT是如何对Tab事件的监听,和如何推论出下一个tab移动的组件 在SWT中,键盘的TAB键是在display里面做了监听,还包括一些其他移动性按钮(上下按钮等) 所以当按Tab键的时候,控件里面的translateTrav