润乾键盘控制填报光标移动

A:润乾报表提供了强有力的填报功能,支持多表回填、来去无关,从而比起简单的单表直接填报更能适应复杂的业务需求。 
B:在填报表中我们通常可能会利用鼠标来定位具体的单元格,然后进行填报操作,
但对于一些银行操作员等,更习惯于利用键盘的方式来控制光标的移动.这样就需要我们对润乾填报表中是光标的跳转顺序有所了解,这样就能根据不同的情况进行调整. 



首先介绍一下润乾填报表中是如何控制光标的跳转顺序。
Enter 向右移动(多行输入框中要按住Ctrl键)
Ctrl + left 向左移动
Ctrl + right 向右移动
up 向上移动(多行输入框中要按住Ctrl键)
down 向下移动(多行输入框中要按住Ctrl键)
左右移动可以在全表中循环,上下移动只能在同列中移动。

注意:对于下拉框、下拉日历、下拉树这几种编辑风格,除了点鼠标,任何一种方式均不可移动光标。

2. 原理说明

光标跳转是通过com.runqian.report4.input下的input.js文件中的_editorKeyPress()函数控制的,如果对我们默认的跳转方式不满意,可以修改这个js函数,比如:润乾默认情况下,down键是跳到下一行,回车是跳到下一格,如果希望将这两个键的功能对调一下,按down键是跳到下一格,回车是跳到下一行,修改的js函数如下:(13是回车键,40down方向键,将这两个数字对调一下即可)

 

function _editorKeyPress() {

    var keyCode = event.keyCode;

    var flag = -1;

    var gotoNext = false;

    var editor = event.srcElement;

    if( keyCode == 39 && event.ctrlKey ) //right

       flag = 3;

      gotoNext = true;

    }

    if( keyCode == 13 ) {

       flag = 3;

      gotoNext = true;

       if( editor.tagName == "TEXTAREA" && !event.ctrlKey ) gotoNext = false;

    }

    if( keyCode == 37 && event.ctrlKey )//left

       flag = 1;

      gotoNext = true;

    }

    if( keyCode == 9 ) {

       flag = event.shiftKey ? 1 : 3;

      gotoNext = true;

    }

    if( keyCode == 38 || keyCode == 40 ) {

       if( keyCode == 38 ) flag = 2;

       if( keyCode == 40 ) flag = 4;

      gotoNext = true;

       if( editor.tagName == "TEXTAREA" && !event.ctrlKey ) gotoNext = false;

    }

    if( gotoNext ) {

       varcell =_lookupNextCell( editor.editingCell, flag );

       if( cell != null ) _bindingEditor( cell );

    }

    if( keyCode == 9 ) return false;

    return true;

}

 

3. PS:部分KEYCODE常数ASCII码一览表

常数描述
vbKeyLButton 0×1
鼠标左键
vbKeyRButton 0×2
鼠标右键
vbKeyCancel 0×3 CANCEL

vbKeyMButton 0×4
鼠标中键
vbKeyBack 0×8 BACKSPACE

vbKeyTab 0×9 TAB

vbKeyClear 0xC CLEAR

vbKeyReturn 0xD ENTER

vbKeyShift 0×10 SHIFT

vbKeyControl 0×11 CTRL

vbKeyMenu 0×12 MENU

vbKeyPau** 0*13 PAUSE

vbKeyCapital 0×14 CAPS LOCK

vbKeyEscape 0×1B ESC

vbKeySpace 0×20 SPACEBAR

vbKeyPageUp 0×21 PAGE UP

vbKeyPageDown 0×22 PAGE DOWN

vbKeyEnd 0×23 END

vbKeyHome 0×24 HOME

vbKeyLeft 0×25 LEFT ARROW

vbKeyUp 0×26 UP ARROW

vbKeyRight 0×27 RIGHT ARROW

vbKeyDown 0×28 DOWN ARROW

vbKeySelect 0×29 SELECT

vbKeyPrint 0×2A PRINT SCREEN

vbKeyExecute 0×2B EXECUTE

vbKeySnapshot 0×2C SNAPSHOT

vbKeyInsert 0×2D INSERT

vbKeyDelete 0×2E DELETE

vbKeyHelp 0×2F HELP

vbKeyNumlock 0×90 NUM LOCK

4. PS:部分JAVASCRIPT KEYCODE 使用说明

键盘
keycode 8 = BackSpace BackSpace
keycode 9 = Tab Tab
keycode 12 = Clear
keycode 13 = Enter
keycode 16 = Shift_L
keycode 17 = Control_L
keycode 18 = Alt_L
keycode 19 = Pause
keycode 20 = Caps_Lock
keycode 27 = Escape Escape
keycode 32 = space space
keycode 33 = Prior
keycode 34 = Next
keycode 35 = End
keycode 36 = Home
keycode 37 = Left
keycode 38 = Up
keycode 39 = Right
keycode 40 = Down
keycode 41 = Select
keycode 42 = Print
keycode 43 = Execute
keycode 45 = Insert
keycode 46 = Delete
keycode 47 = Help 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值