datagrid系列之-加入快捷键

function onBeginEdit(index,row){
		var flag = false;
		var subj = $("#subjCode").val();
		var subjCode = new Array();
		subjCode.push(subj.split(","));
		var subjRow= row.pkAccsubj.subjcode;
		for(var j=0;j<subjCode[0].length;j++){
			if(subjRow==subjCode[0][j]){
				flag = true;
				break;
			}
		}
		
		// 摘要
		ed = $(this).datagrid('getEditor', {
    		index: index,
    		field: 'explanation'
    	});
		
    	if(flag){
    		if(ed == null){
   			 $(this).datagrid('endEdit',index); //结束编辑
   			 return false;
   			}
    	}
    	
   		if(ed != null){
   			document.onkeydown=function(event){
				var e = event || window.event || arguments.callee.caller.arguments[0];
				if(e && e.keyCode==13){
					$('#contentTable').datagrid('endEdit', index);
					$('#contentTable').datagrid('selectRow', index).datagrid('editCell', {
		                index: index,
		                field: 'pkAccsubj.dispname'
		            });
				}
	        }; 
   		}
    	
    	// 科目
    	var ed = $(this).datagrid('getEditor', {
			index: index,
			field: 'pkAccsubj.dispname'
		});
		if(ed != null){
			if(row.pkAccsubj!= null&&row.pkAccsubj!= ''){
				if(typeof(row.pkAccsubj.dispname) != "undefined"){
					var obj = new Object();
		    		obj.dispname = row.pkAccsubj.dispname;
		    		obj.pkAccsubj =row.pkAccsubj.pkAccsubj;
		    		row.pkAccsubj = obj;
		    		$('#autocom').combobox('setValue', row.pkAccsubj.dispname);
				}
			}
    		document.onkeydown=function(event){
				var e = event || window.event || arguments.callee.caller.arguments[0];
				if(e && e.keyCode==13){ // 按 回车
					$('#contentTable').datagrid('endEdit', index);
					$('#contentTable').datagrid('selectRow', index).datagrid('editCell', {
		                index: index,
		                field: 'valueName'
		            });
				}
	        }; 
		}
		
		// 辅助核算
		ed = $(this).datagrid('getEditor', {
    		index: index,
    		field: 'valueName'
    	});
    	if(ed!=null){
    		document.onkeydown=function(event){
				var e = event || window.event || arguments.callee.caller.arguments[0];
				if(e && e.keyCode==13){ // 按 回车
					$('#contentTable').datagrid('endEdit', index);
					$('#contentTable').datagrid('selectRow', index).datagrid('editCell', {
		                index: index,
		                field: 'pkCurrtype.currtypecode'
		            });
				}
	        }; 
    	}
    	
    	// 币种
    	var ed = $(this).datagrid('getEditor', {
    		index: index,
    		field: 'pkCurrtype.currtypecode'
    	});
    	if(ed!=null){
    		document.onkeydown=function(event){
				var e = event || window.event || arguments.callee.caller.arguments[0];
				if(e && e.keyCode==13){ // 按 回车
					$('#contentTable').datagrid('endEdit', index);
					$('#contentTable').datagrid('selectRow', index).datagrid('editCell', {
		                index: index,
		                field: 'localdebitamount'
		            });
				}
	        }; 
    		var obj = new Object();
    		obj.pkCurrtype = row.pkCurrtype.pkCurrtype;
    		obj.currtypecode =row.pkCurrtype.currtypecode;
    		row.pkCurrtype = obj;
    		$(ed.target).combobox('setValue',obj.currtypecode);
    	}
    	
    	// 借方
    	ed = $(this).datagrid('getEditor', {
    		index: index,
    		field: 'localdebitamount'
    	});
    	if(ed!=null){
    		document.onkeydown=function(event){
				var e = event || window.event || arguments.callee.caller.arguments[0];
				if(e && e.keyCode==13){ // 按 回车
					$('#contentTable').datagrid('endEdit', index);
					$('#addRow').click();
					$('#contentTable').datagrid('selectRow', index).datagrid('editCell', {
		                index: index,
		                field: 'localcreditamount'
		            });
				}
				if(e && e.keyCode==32){ // 按 空格
					var rows = $('#contentTable').datagrid('getRows');
					for(var i=0;i<rows.length;i++){
						if(i==index&&rows[i].localdebitamount!=0){
							row.localcreditamount = parseFloat(rows[i].localdebitamount);
							row.localdebitamount = 0;
							$('#localdebitamountId').val("");
							$('#contentTable').datagrid('loadData',{"total":rows.length,"rows":rows});
							$('#contentTable').datagrid('selectRow', index).datagrid('editCell', {
				                index: index,
				                field: 'localdebitamount'
				            });
						}else if(i==index&&rows[i].localcreditamount!=0){
							row.localdebitamount = parseFloat(rows[i].localcreditamount);
							row.localcreditamount = 0;
							$('#localdebitamountId').val("");
							$('#contentTable').datagrid('loadData',{"total":rows.length,"rows":rows});
							$('#contentTable').datagrid('selectRow', index).datagrid('editCell', {
				                index: index,
				                field: 'localdebitamount'
				            });
						}
					}
				}
    		}; 
			document.onkeyup=function(event){	
				var e = event || window.event || arguments.callee.caller.arguments[0];
				if(e && (e.keyCode==187||e.keyCode==229)){ // 按 等号
					var rows = $('#contentTable').datagrid('getRows');
					var debit =0;
					var credit= 0;
					for(var i=0;i<rows.length;i++){
						if(i!=index&&rows[i].localdebitamount!=0){
							debit += parseFloat(rows[i].localdebitamount);
						}
						if(i!=index&&rows[i].localcreditamount!=0){
							credit += parseFloat(rows[i].localcreditamount);
						}
					}
					row.localdebitamount = (credit-debit).toFixed(2);
					$('#localdebitamountId').val((credit-debit).toFixed(2));
				}
	        }; 
    		if(row.localdebitamount==0){
    			$('#localdebitamountId').val("");
    		}
    	}
    	
    	// 贷方
    	ed = $(this).datagrid('getEditor', {
    		index: index,
    		field: 'localcreditamount'
    	});
    	if(ed!=null){
    		document.onkeydown=function(event){
				var e = event || window.event || arguments.callee.caller.arguments[0];
				if(e && e.keyCode==13){ // 按 回车
					if($('#contentTable').datagrid('getRows').length==index+1){
						$('#addRow').click();
					}
					$('#contentTable').datagrid('endEdit', index);
					$('#contentTable').datagrid('selectRow', index+1).datagrid('editCell', {
		                index: index+1,
		                field: 'explanation'
		            });
				}
				
				if(e && e.keyCode==32){ // 按 空格
					var rows = $('#contentTable').datagrid('getRows');
					for(var i=0;i<rows.length;i++){
						if(i==index&&rows[i].localdebitamount!=0){
							row.localcreditamount = parseFloat(rows[i].localdebitamount);
							row.localdebitamount = 0;
							$('#localcreditamountId').val("");
							$('#contentTable').datagrid('loadData',{"total":rows.length,"rows":rows});
							$('#contentTable').datagrid('selectRow', index).datagrid('editCell', {
				                index: index,
				                field: 'localcreditamount'
				            });
						}else if(i==index&&rows[i].localcreditamount!=0){
							row.localdebitamount = parseFloat(rows[i].localcreditamount);
							row.localcreditamount = 0;
							$('#localcreditamountId').val("");
							$('#contentTable').datagrid('loadData',{"total":rows.length,"rows":rows});
							$('#contentTable').datagrid('selectRow', index).datagrid('editCell', {
				                index: index,
				                field: 'localcreditamount'
				            });
						}
					}
				}
    		};
			document.onkeyup=function(event){
				var e = event || window.event || arguments.callee.caller.arguments[0];
				if(e && (e.keyCode==187||e.keyCode==229)){ // 按 等号
					var rows = $('#contentTable').datagrid('getRows');
					var debit =0;
					var credit= 0;
					for(var i=0;i<rows.length;i++){
						if(i!=index&&rows[i].localdebitamount!=0){
							debit += parseFloat(rows[i].localdebitamount);
						}
						if(i!=index&&rows[i].localcreditamount!=0){
							credit += parseFloat(rows[i].localcreditamount);
						}
					}
					row.localcreditamount = (debit-credit).toFixed(2);
					$('#localcreditamountId').val((debit-credit).toFixed(2));
				}
	        }; 
    		if(row.localcreditamount==0){
    			$('#localcreditamountId').val("");
    		}
    	}
    	
	}