easyUI에서 datagrid 상하좌우 이동 편집기

6562 단어 easyuidatagridupdown
easyUI에서 datagrid 상하좌우 이동 편집기


[color=darkred]
// 
$.extend($.fn.datagrid.methods, {
    keyCtr : function (jq) {
        return jq.each(function () {
            var grid = $(this);
            grid.datagrid('getPanel').panel('panel').attr('tabindex', 1).bind('keydown', function (e) {
            	if(SampleInfo.editorIndex == -1){
            		return;
            	}
            	var keyCode = e.keyCode;
            	// , , 
            	if( keyCode == 37 || keyCode == 39){
            		e.preventDefault();
                	e.stopPropagation();
            	}
            	rows = $dg.datagrid('getRows');
            	if(SampleInfo.editorField == ''){
            		SampleInfo.editorField = 'formalStyleNo';
            	}
                switch (keyCode) {
                case 38: // up	
                	var editors = grid.datagrid('getEditors',SampleInfo.editorIndex);
                    if (editors) {
                    	if(rows.length>SampleInfo.editorIndex && SampleInfo.editorIndex>=1){
                    		SampleInfo.editorIndex--;
                    		
                    	}else{
                    		SampleInfo.editorIndex = rows.length-1;
                    	}
                    	grid.datagrid('beginEdit',SampleInfo.editorIndex);
                    	// 
                    	var ed = grid.datagrid('getEditor',{index:SampleInfo.editorIndex,
                    										field:SampleInfo.editorField});
                    	if(ed != null && ed != ""){
                       	 $(ed.target).focus();
                       	 $(ed.target).select(); 
                    	}
                    } else {
                    }
                    break;
                case 40: // down
                	var editors = grid.datagrid('getEditors',SampleInfo.editorIndex);
                    if (editors) {
                    	if(rows.length-1>SampleInfo.editorIndex){
                    		SampleInfo.editorIndex++;
                    		
                    	}else{
                    		SampleInfo.editorIndex = 0;
                    	}
                    	grid.datagrid('beginEdit',SampleInfo.editorIndex);
                    	// 
                    	var ed = grid.datagrid('getEditor',{index:SampleInfo.editorIndex,
                    										field:SampleInfo.editorField});
                    	if(ed != null && ed != ""){
                       	 $(ed.target).focus();
                       	 $(ed.target).select(); 
                    	}
                    }
                    break;
                case 37: // left
                	var editors = grid.datagrid('getEditors',SampleInfo.editorIndex);
                    if (editors) {
                    	if(rows.length-1>SampleInfo.editorIndex){
                    		SampleInfo.editorIndex++;
                    		
                    	}else{
                    		SampleInfo.editorIndex = 0;
                    	}
                    	grid.datagrid('beginEdit',SampleInfo.editorIndex);
                    	// 
                    	if(SampleInfo.editorField == 'formalStyleNo'){
                    		SampleInfo.editorField = 'formalCategoryNo';
                    	}else if(SampleInfo.editorField == 'formalColorNo'){
                    		SampleInfo.editorField = 'formalStyleNo';
                    	}else if(SampleInfo.editorField == 'formalCategoryNo'){
                    		SampleInfo.editorField = 'formalColorNo';
                    	}
                    	var ed = grid.datagrid('getEditor',{index:SampleInfo.editorIndex,
                    										field:SampleInfo.editorField});
                    	if(ed != null && ed != ""){
                       	 $(ed.target).focus();
                       	 $(ed.target).select(); 
                    	}
                    }
                    break;
                case 39: // right
                	var editors = grid.datagrid('getEditors',SampleInfo.editorIndex);
                    if (editors) {
                    	if(rows.length-1>SampleInfo.editorIndex){
                    		SampleInfo.editorIndex++;
                    		
                    	}else{
                    		SampleInfo.editorIndex = 0;
                    	}
                    	grid.datagrid('beginEdit',SampleInfo.editorIndex);
                    	// 
                    	if(SampleInfo.editorField == 'formalStyleNo'){
                    		SampleInfo.editorField = 'formalCategoryNo';
                    	}else if(SampleInfo.editorField == 'formalColorNo'){
                    		SampleInfo.editorField = 'formalStyleNo';
                    	}else if(SampleInfo.editorField == 'formalCategoryNo'){
                    		SampleInfo.editorField = 'formalColorNo';
                    	}
                    	var ed = grid.datagrid('getEditor',{index:SampleInfo.editorIndex,
                    										field:SampleInfo.editorField});
                    	if(ed != null && ed != ""){
                       	 $(ed.target).focus();
                       	 $(ed.target).select(); 
                    	}
                    }
                    break;
                case 13: // enter 
                	removeDataGridCommon(itemStyle.dataGridItemStyle);
        			itemStyle.dealItemStyleProc(); 
                    break;
                case 113: //F2 
                	parent.operaItemStyleInsert();
                	var c = parent.billOrder.ItemStylePanel ;
                	c.panel('close',true);

                }
            });
           
        });
    }
});
[/color]

좋은 웹페이지 즐겨찾기