在easyUi 的datagrid 的 onLoadSuccess:function(data) 函数 中添加即可:
onLoadSuccess:function(data)
{
if(firstLoad)
{
//第一次加载成功后,保存原始数据值
orignalData = $.extend(true,{},data);
}
//汇总单日填报工作量
reCalDayTotal();
// 重要! 显示全部编辑状态并绑定事件监听
$.each(data.rows, function(id,rowData){
//任务完成100%, 并且已审核通过,不能编辑
if(rowData && rowData.status && (rowData.status=='TASK_ASSIGNER_AUDITED' || rowData.status=='TASK_MONITOR_AUDITED') && rowData.finishRate == 100)
{
return true;
}
var rowIndex = $('#workloadTable').datagrid('getRowIndex', rowData);
$('#workloadTable').datagrid('beginEdit', rowIndex);
// 重要! 重新设置百分比填报范围
var columnOption = $('#workloadTable').datagrid('getColumnOption',"workRate");
columnOption.editor.options.min = rowData.minRate;
columnOption.editor.options.max = rowData.maxRate;
var editors = $('#workloadTable').datagrid('getEditors', rowIndex);
var workRateEditor = editors[0]; // 百分比编辑框
var workTimeEditor = editors[1]; // 工时编辑框
var descEditor = editors[2]; // 完成情况编辑框
var delEditor = editors[3]; // 删除按钮
/***************************** 监听输入框值变化 设置 结束**************************************/
// 百分比编辑框绑定change方法
workRateEditor.target.bind('change', function()
{
//将本次修改的值更新到rowData的相应列数据中
rowData[workRateEditor.field] = $(this).val();
});
// 工时编辑框绑定change方法
workTimeEditor.target.bind('change', function()
{
//将本次修改的值更新到rowData的相应列数据中
rowData[workTimeEditor.field] = $(this).val();
$(this).numberbox("fix");
reCalDayTotal();
});
//增加完成情况字数输入限制
descEditor.target.bind("keyup",function()
{
return countChar($(this));
}).bind("change", function()
{
return countChar($(this));
});
});
}
在这段代码本来很长,我省略了一些,其中绑定了很多事件和监听,还有每行的相关样式等。