easylui datagrid 动态生成列
1 function load(sdate) { 2 $.getJSON("workorder/statistics.do", { 3 sdate : sdate+'-01' 4 }, function(resp) { //获取数据源 5 var columns = new Array(); //定义列集合 6 var row = resp.rows[0]; //获取首行数据 7 8 //根据首行数据创建columns配置 9 $.each(row, function(i, v) { 10 if (i != "username") { 11 var column = {}; 12 column["title"] = "" + i;//我这里默认用键值做title,一般可以根据键值自定义 13 column["width"] = 25; 14 column["field"] = "" + i;//数据的键值就是field 15 column["align"] = "center"; 16 column["styler"] = function(value) { 17 var d = new Date(sdate+'-' + i); 18 if (d.getDay() == 6 || d.getDay() == 0) { 19 return "background:#DDD"; 20 } 21 22 if (value == 1) { 23 return "background:#CCFF33"; 24 } 25 26 }; 27 column["formatter"] = function(value) { 28 return " "; 29 }; 30 columns.push(column);//放入定义数组 31 } 32 }); 33 34 //实例化一个datagrid 35 $('#statistics').datagrid({ 36 toolbar : "#searchBar", 37 rownumbers : true, 38 singleSelect : true, 39 fit : true, 40 striped: true, 41 onSelect : function(rowIndex) { 42 $(this).datagrid("unselectRow", rowIndex); 43 }, 44 frozenColumns : [ [ { 45 title : '姓名', 46 field : 'username', 47 width : 60, 48 align : "center" 49 } ] ], 50 columns : [ [ { 51 colspan : columns.length, 52 title : "<b>"+sdate+"月 部门人员任务分配情况</b>" 53 } ], columns ] 54 }).datagrid("loadData", resp.rows);//实例化之后立刻载入数据源 55 }); 56 }