easyui dataGrid处理

来源:互联网 发布:ubuntu安装旧版本软件 编辑:程序博客网 时间:2024/06/05 04:48

easyui官网


function Init() {

    $('#id').datagrid({
        nowrap: true, //单元格是否可以换行
        striped: true, //行条纹
        collapsible: true,
        width: 'auto',
        height: 'auto',
        fit: true,
        fitColumns: false, //是否调整列宽        
        url: "路径", 
        queryParams: {

            //初始传入后台参数,如有分页 后台请注意接收rows与page二参数便于查询分页数据

        },

        remoteSort: false,
        idField: "ID",
        method: 'post',
        singleSelect: true,
        loadMsg: '正在加载数据,请稍等……',
        frozenColumns: [frozenCols],//滚动列
        columns: [dataGridCols],//固定列   
        pagination: true, //需要分页请开启  
        pageSize: 15, //每页显示的记录条数,默认为10     
        pageList: [15, 20, 30, 40, 50, 100],
        onDblClickRow: function (rowIndex, rowData) {

        },
        onClickRow: function (rowIndex, rowData) {

        },

onLoadSuccess: function (data) {

//此处可写合并行或列信息  具体官网有具体介绍

}

    });

//分页
    var p = $('#id' ).datagrid('getPager');
    $(p).pagination({
        pageSize: 15, //每页显示的记录条数,默认为10          
        //pageList: [5, 10, 15, 20, 30, 40, 50, 100], //可以设置每页记录条数的列表  
        beforePageText: '第', //页数文本框前显示的汉字          
        afterPageText: '页    共 {pages} 页',
        displayMsg: '当前显示 {from} - {to} 条记录   共 {total} 条记录',
        onBeforeRefresh: function () {

        }
    });

}


function search()

{

var queryParams = $('#id').datagrid('options').queryParams;
    queryParams.xx = “xx”; //传入查询条件
    $('#id' ).datagrid('load');
    $('#id').datagrid('clearSelections');

}


//导出 打印(此版本为网上寻找很感谢此段代码作者,此解决了很多问题,但具体发布地址忘记了 -_-!)

以下代码 

支持多行表头及表头合并但遗憾的是不支持明细单元格合并,但是可以根据具体需求对此

明细进行重写即可

值得注意的是 在ifram指向界面进行打印和导出操作时,其中打印出现ie和火狐、google不兼容问题

建议在判断使用的为ie时调用ifram父界面进行
function exportexcels() {
    if ($("#id").html().replace(/[\s ]{1,}/g, "") != "") {
        CreateFormPage("title", $("#rptlist"));
        titles = escape("title");

        $("#ifram")[0].src = "路径";
    }
}

var printData;
function CreateFormPage(strPrintName, printDatagrid) {
    //var tableString = '<table class="tableClass" cellspacing="0">';
    //tableString += '<tr><td colspan="8" style="border:none;text-align: center;"><strong>' + strPrintName + '</strong></td></tr>';


    var tableString = '<div style="width:98%;text-align:center;margin:5px auto;">';
    tableString += '<div style="border-bottom:1px ;width:100%;text-align:center; margin:0 auto;font-size:20px;letter-spacing:5px;">';
    tableString+='<strong>'+strPrintName+'</strong>';
    tableString+='</div>';
    tableString+='<table border="1" class="tableClass" cellspacing="0">';
    var frozenColumns = printDatagrid.datagrid("options").frozenColumns;  // 得到frozenColumns对象
    var columns = printDatagrid.datagrid("options").columns;    // 得到columns对象
    var nameList = '';


    // 载入title
    if (typeof columns != 'undefined' && columns != '') {
        $(columns).each(function (index) {
            tableString += '\n<tr>';
            if (typeof frozenColumns != 'undefined' && typeof frozenColumns[index] != 'undefined') {
                for (var i = 0; i < frozenColumns[index].length; ++i) {
                    if (!frozenColumns[index][i].hidden) {
                        tableString += '\n<th width="' + frozenColumns[index][i].width + '"';
                        if (typeof frozenColumns[index][i].rowspan != 'undefined' && frozenColumns[index][i].rowspan > 1) {
                            tableString += ' rowspan="' + frozenColumns[index][i].rowspan + '"';
                        }
                        if (typeof frozenColumns[index][i].colspan != 'undefined' && frozenColumns[index][i].colspan > 1) {
                            tableString += ' colspan="' + frozenColumns[index][i].colspan + '"';
                        }
                        if (typeof frozenColumns[index][i].field != 'undefined' && frozenColumns[index][i].field != '') {
                            nameList += ',{"f":"' + frozenColumns[index][i].field + '", "a":"' + frozenColumns[index][i].align + '"}';
                        }
                        tableString += '>' + frozenColumns[0][i].title + '</th>';
                    }
                }
            }
            for (var i = 0; i < columns[index].length; ++i) {
                if (!columns[index][i].hidden) {
                    tableString += '\n<th width="' + columns[index][i].width + '"';
                    if (typeof columns[index][i].rowspan != 'undefined' && columns[index][i].rowspan > 1) {
                        tableString += ' rowspan="' + columns[index][i].rowspan + '"';
                    }
                    if (typeof columns[index][i].colspan != 'undefined' && columns[index][i].colspan > 1) {
                        tableString += ' colspan="' + columns[index][i].colspan + '"';
                    }
                    if (typeof columns[index][i].field != 'undefined' && columns[index][i].field != '') {
                        nameList += ',{"f":"' + columns[index][i].field + '", "a":"' + columns[index][i].align + '"}';
                    }
                    tableString += '>' + columns[index][i].title + '</th>';
                }
            }
            tableString += '\n</tr>';
        });
    }
    // 载入内容
    var rows = printDatagrid.datagrid("getRows"); // 这段代码是获取当前页的所有行
    var nl = eval('([' + nameList.substring(1) + '])');
    for (var i = 0; i < rows.length; ++i) {
        tableString += '\n<tr>';
        $(nl).each(function (j) {
            var e = nl[j].f.lastIndexOf('_0');


            tableString += '\n<td';
            if (nl[j].a != 'undefined' && nl[j].a != '') {
                tableString += ' style="text-align:' + nl[j].a + ';"';
            }
            tableString += '>';
            if (e + 2 == nl[j].f.length) {
                tableString += rows[i][nl[j].f.substring(0, e)];
            }
            else {

                    tableString += rows[i][nl[j].f] == null ? "" : rows[i][nl[j].f];
                
            }
            tableString += '</td>';
        });
        tableString += '\n</tr>';
    }
    tableString += '\n</table>';
    tableString+='</div>';
    printData = escape(tableString);
    window.tableString = tableString;
}


0 0
原创粉丝点击