Fetch the repository succeeded.
版本4.0.8,代码生成主子表,子表设置初始不可编辑,新增记录提交时发现总有一条记录丢失不提交,设置editGridInitAllRowEdit为true时,数据不丢失,应该是bug。
1、子表前端界面
<script>
$("#AssignDataGrid").dataGrid({
data: ${toJson(ZktimeAttsum.AttenceAssignList)},
datatype: "local", // 设置本地数据
autoGridHeight: function () {
return 'auto'
}, // 设置自动高度
// 设置数据表格列
columnModel: [
{header: '状态', name: 'status', editable: true, hidden: true},
{header: '主键', name: 'id', editable: true, hidden: true},
{header: '${text('考勤记录')}', name: 'zkid.id', editable: true, hidden: true},
{
header: '${text('项目/系统')}', name: 'ProjectSystem', width: 150,
formatter: function (val, obj, row, act) {
return js.val(row, 'ProjectSystem.id') + '|' + js.val(row, 'ProjectInfo.projectName')+'/'+js.val(row, 'SystemInfo.sysName');
}, editable: true, edittype: "custom", editoptions: {
custom_element: function (val, editOptions) {
return js.template('treeselectTpl', {
id: 'sys_' + editOptions.id, title: '项目/系统',
name: 'ProjectSystem.id', value: val.split('|')[0],
labelName: 'SystemInfo.sysName', labelValue: val.split('|')[1],
url: '${ctx}//project/ProjectInfo/proSysList', cssClass: ''
});
}
}
},
{
header: '${text('工时')}', name: 'offhour', width: 40,
edittype: 'text',
editable: true,
editoptions: {'class': 'form-control number required'}
},
{header:'${text('更新人')}', name:'updateBy', hidden: true},
{header:'${text('更新人')}', name:'updateByName', index:'a.user_name', width:50, align:"center"},
{
header:'${text('操作')}',
name:'actions',
width:80,
sortable:false,
fixed:true,
formatter:function (val, obj, row, act) {
//记录只允许修改一次
var actions = [];
if(row.updateBy == 'system'){
actions.push('<a href="#" onclick="$(\'#AssignDataGrid\').dataGrid(\'editRow\',\''+obj.rowId+'\',{keys:true,focusField:true});return false;"><i class="fa fa-pencil"></i></a> ');
}
if (val == 'new') {
actions.push('<a href="#" onclick="js.confirm(\'${text('你确认要删除这条数据吗?')}\', function(){$(\'#AssignDataGrid\').dataGrid(\'delRowData\',\'' + obj.rowId + '\')});return false;"><i class="fa fa-trash-o"></i></a> ');
} else {
if(row.updateBy == 'system'){
actions.push('<a href="#" onclick="js.confirm(\'${text('你确认要删除这条数据吗?')}\', function(){$(\'#AssignDataGrid\').dataGrid(\'setRowData\',\'' + obj.rowId + '\',null,{display:\'none\'})});$(\'#' + obj.rowId + '_status\').val(\'' + Global.STATUS_DELETE + '\');return false;"><i class="fa fa-trash-o"></i></a> ');
}
}
return actions.join('');
},editoptions: {defaultValue: 'new'}}],
// 编辑表格参数
editGrid: true, // 是否是编辑表格
editGridInitRowNum: 1, // 编辑表格的初始化新增行数
editGridInitAllRowEdit: false, //初始不可编辑
editGridAddRowBtn: $('#AssignDataGridAddRowBtn'), // 子表增行按钮
editGridAddRowInitData: {id: '', status: Global.STATUS_NORMAL}, // 新增行的时候初始化的数据
// 编辑表格的提交数据参数
editGridInputFormListName: 'AttenceAssignList', // 提交的数据列表名
editGridInputFormListAttrs:'status,id,zkid.id,ProjectSystem.id,offhour,', // 提交数据列表的属性字段
// 加载成功后执行事件
ajaxSuccess:function (data) {
}
});
</script>
2、子表表格初始化界面如下(新增了一条记录)
3、点击提交后,后台接收到6条记录,应该是7条记录
Sign in to comment