修改easyui,可设置仅在选中的字段中生成编辑器

修改jquery.easyui.min.js

function _4a7(_4bd,_4be){
var opts=$.data(_4bd,"datagrid").options;
var tr=opts.finder.getTr(_4bd,_4be);
tr.children("td").each(function(){
var cell=$(this).find("div.datagrid-cell");
var _4bf=$(this).attr("field");
var col=_461(_4bd,_4bf);
//只在选中的字段上生成编辑器
var _id = opts.id;
if(!_id){return;}
var _edit_field = $('#'+_id).attr('editing_field');
if(typeof(_edit_field)=='undefined'){_edit_field=col.field;}//如果没有设置哪个字段,则表示所有
if(col&&col.editor && col.field==_edit_field){
//以下无修改
var _4c0,_4c1;
if(typeof col.editor=="string"){
_4c0=col.editor;
}else{
_4c0=col.editor.type;
_4c1=col.editor.options;
}
var _4c2=opts.editors[_4c0];
if(_4c2){
var _4c3=cell.html();
var _4c4=cell.outerWidth();
cell.addClass("datagrid-editable");
cell._outerWidth(_4c4);
cell.html("<table border=\"0\" cellspacing=\"0\" cellpadding=\"1\"><tr><td></td></tr></table>");
cell.children("table").attr("align",col.align);
cell.children("table").bind("click dblclick contextmenu",function(e){
e.stopPropagation();
});
$.data(cell[0],"datagrid.editor",{actions:_4c2,target:_4c2.init(cell.find("td"),_4c1),field:_4bf,type:_4c0,oldHtml:_4c3});
}
}
});
_412(_4bd,_4be,true);
};

使用方法:
在onClickCell中,首先设置editing_field,如下:
onClickCell:function(index,field,value){
$(target).attr('editing_field',field);

然后:
$(this).edatagrid('editRow', index);

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>