1. 问题概述
A:润乾报表提供了强有力的填报功能,支持多表回填、来去无关,从而比起简单的单表直接填报更能适应复杂的业务需求。
B:在填报表中我们通常可能会利用鼠标来定位具体的单元格,然后进行填报操作,
但对于一些银行操作员等,更习惯于利用键盘的方式来控制光标的移动.这样就需要我们对润乾填报表中是光标的跳转顺序有所了解,这样就能根据不同的情况进行调整.
填报表里关于光标的控制说明_java报表web报表填报报表润乾集智数
首先介绍一下润乾填报表中是如何控制光标的跳转顺序。
Enter 向右移动(多行输入框中要按住Ctrl键)
Ctrl + left 向左移动
Ctrl + right 向右移动
up 向上移动(多行输入框中要按住Ctrl键)
down 向下移动(多行输入框中要按住Ctrl键)
左右移动可以在全表中循环,上下移动只能在同列中移动。
注意:对于下拉框、下拉日历、下拉树这几种编辑风格,除了点鼠标,任何一种方式均不可移动光标。
2. 原理说明
 
光标跳转是通过com.runqian.report4.input下的input.js文件中的_editorKeyPress()函数控制的,如果对我们默认的跳转方式不满意,可以修改这个js函数,比如:润乾默认情况下,down键是跳到下一行,回车是跳到下一格,如果希望将这两个键的功能对调一下,按down键是跳到下一格,回车是跳到下一行,修改的js函数如下:(13是回车键,40是down方向键,将这两个数字对调一下即可)
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 ) {
var cell = _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
 

 

出处:http://www.geezn.com/archives/2484.html/