easyui动态生成复杂表头

var editRow = undefined;
var datagrid;
function toColJson() {
var jsonText = '{';
jsonArray = arguments[0];
var digit = 1;
for ( var i = 0; i < jsonArray.length; i++) {
if ((typeof arguments[i + digit]) == 'string')
jsonText += jsonArray[i] + ': "' + arguments[i + digit] + '"';
else if ((typeof arguments[i + digit]) == 'function')
jsonText += jsonArray[i] + ':' + arguments[i + digit] + '';
else
jsonText += jsonArray[i] + ':"' + arguments[i + digit] + '"';
if (i != jsonArray.length - 1) {
jsonText += ',';
}
}
jsonText += '}';
return eval('(' + jsonText + ')');
}
var keys01 = [ 'title', 'align', 'colspan' ];
var key02 = [ 'title', 'align', 'colspan', 'field', 'width', 'sortable', 'editor' ];
// var keys03 = [ 'title', 'align', 'colspan', 'rowspan' ];
// var key04 = [ 'title', 'align', 'colspan', 'rowspan', 'field', 'width', 'sortable' ];
function load(id) {
var continentGroupRow = new Array();//合并表头
var columnses = new Array();//列
$.getJSON("scheduleController.do?datagrid2", {
id : id
}, function(r) { //获取数据源
var endDate = r.maps.endDate;
var startDate = r.maps.startDate;
var countdutyTypes = r.maps.countdutyTypes;
var dutyTypes = r.maps.dutyTypes;
for ( var i = startDate; i <= endDate; i++) {
continentGroupRow.push(toColJson(keys01, i + '日', 'center', dutyTypes));
}
for ( var i = 0; i <= endDate - startDate; ++i) {
for ( var j = 0; j < dutyTypes; j++) {
columnses.push(toColJson(key02, r.dutyType[j].dutyTypeName + '', 'center', 1, r.dutyType[j].dutyTypeName + '', 60, false, 'text'));
}
}
//实例化一个datagrid
datagrid = $('#tabs_2').datagrid({
toolbar : [ {
text : '保存',
iconCls : 'icon-save',
handler : function() {
if (editRow != undefined) {
datagrid.datagrid('endEdit', editRow);
}
}
}, '-', {
text : '修改',
iconCls : 'icon-edit',
handler : function() {
edit();
}
}, '-', {
text : '取消编辑',
iconCls : 'icon-undo',
handler : function() {
datagrid.datagrid('unselectAll');
datagrid.datagrid('rejectChanges');
editRow = undefined;
}
}, '-', {
text : '取消选中',
iconCls : 'icon-undo',
handler : function() {
datagrid.datagrid('unselectAll');
}
}, '-' ],
idField : 'id',
singleSelect : true,//只允许选一行
fitColumns : false,
fit : true,
frozenColumns : [ [ {
title : '编号',
field : 'cid',
width : 150,
sortable : true,
checkbox : true
}, {
title : '姓名',
field : 'name',
width : 60,
align : "center",
} ] ],
onDblClickRow : function(rowIndex, rowData) {
if (editRow != undefined) {
datagrid.datagrid('endEdit', editRow);
}
if (editRow == undefined) {
//changeEditorEditRow();/*改变editor*/
datagrid.datagrid('beginEdit', rowIndex);
editRow = rowIndex;
datagrid.datagrid('unselectAll');
}
},
onAfterEdit : function(rowIndex, rowData, changes) {
console.info(rowData);
console.info(changes);
var updated = datagrid.datagrid('getChanges', 'updated');
},
columns : [ continentGroupRow, columnses ]
}).datagrid("loadData", r.specialistVo);//实例化之后立刻载入数据源
});
}

浙公网安备 33010602011771号