根据数据动态生成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 }
原文地址:https://www.cnblogs.com/easyteck/p/2570789.html