easyui datagrid 单击编辑单元格

今天遇到一个问题,想要单击datagrid的上的某个单元格,就可以编辑,实现过程如下!

给datagrid 加上onclickCell方法,单击单元格触发,蓝色部分为给想要编辑的单元格加上












编号客户姓名辅导书折扣editor:{type:'numberbox',options:{precision:2,max:1}} ">变化后折扣累计余额

js方法

<%-- 编辑单元格--%>
$.extend($.fn.datagrid.methods, {
editCell: function(jq,param){
return jq.each(function(){
var opts = $(this).datagrid('options');
var fields = $(this).datagrid('getColumnFields',true).concat($(this).datagrid('getColumnFields'));
for(var i=0; ivar col = $(this).datagrid('getColumnOption', fields[i]);
col.editor1 = col.editor;
if (fields[i] != param.field){
col.editor = null;
}
}
$(this).datagrid('beginEdit', param.index);
for(var i=0; ivar col = $(this).datagrid('getColumnOption', fields[i]);
col.editor = col.editor1;
}
});
}
});

var editIndex = undefined;
结束编辑
function endEditing(index){
if (editIndex == undefined){return true}

if(index!=editIndex){
$('#discountChangeList').datagrid('unselectRow', editIndex);
}
if ($('#discountChangeList').datagrid('validateRow', editIndex)){
$('#discountChangeList').datagrid('endEdit', editIndex);
editIndex = undefined;
return true;
} else {
return false;
}
}

单击后触发
function onClickCell(index, field){
if (endEditing(index)){
if(field=="changedDiscount"){
$('#discountChangeList').datagrid('unselectRow', index);
$('#discountChangeList').datagrid('editCell', {index:index,field:field});
editIndex = index;
}
}
}

这样就可以愉快的编辑了,本来想写很多注释,但是提笔忘字,算了不写了。

你可能感兴趣的:(easyui)