JQuery EasyUI 根据数据动态生成datagrid,统计常用

function load(sdate) {
    $.getJSON("workorder/statistics.do", {
        sdate : sdate+'-01'
    }, function(resp) { //获取数据源
        var columns = new Array(); //定义列集合
        var row = resp.rows[0];        //获取首行数据

        //根据首行数据创建columns配置
        $.each(row, function(i, v) {
            if (i != "username") {
                var column = {};
                column["title"] = "" + i;//我这里默认用键值做title,一般可以根据键值自定义
                column["width"] = 25;
                column["field"] = "" + i;//数据的键值就是field
                column["align"] = "center";
                column["styler"] = function(value) {
                    var d = new Date(sdate+'-' + i);
                    if (d.getDay() == 6 || d.getDay() == 0) {
                        return "background:#DDD";
                    }

                    if (value == 1) {
                        return "background:#CCFF33";
                    }

                };
                column["formatter"] = function(value) {
                    return " ";
                };
                columns.push(column);//放入定义数组
            }
        });

        //实例化一个datagrid
        $('#statistics').datagrid({
            toolbar : "#searchBar",
            rownumbers : true,
            singleSelect : true,
            fit : true,
            striped: true,
            onSelect : function(rowIndex) {
                $(this).datagrid("unselectRow", rowIndex);
            },
            frozenColumns : [ [ {
                title : '姓名',
                field : 'username',
                width : 60,
                align : "center"
            } ] ],
            columns : [ [ {
                colspan : columns.length,
                title : "<b>"+sdate+"月  部门人员任务分配情况</b>"
            } ], columns ]
        }).datagrid("loadData", resp.rows);//实例化之后立刻载入数据源
    });
}

 

posted @ 2012-08-29 15:50  摩根船长  阅读(9008)  评论(1编辑  收藏  举报