码迷,mamicode.com
首页 > 其他好文 > 详细

easyui datagrid 可过滤行的数据表格 导出

时间:2015-12-02 17:55:39      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:

//导出数据  
                /*
                 * id datagrid id
                 * url Action 路径
                 */
                function exportExcelToFilter(id,url){
                    var filterRules = $(‘#‘+id).datagrid(‘options‘).filterRules;
                    var params = $(‘#‘+id).datagrid(‘options‘).queryParams;
                    for (var i = 0; i < filterRules.length; i++) {
                        var obj = filterRules[i];
                        if (obj.field == ‘applicationDate‘) {
                            if (obj.op == ‘greater‘) {
                                params.rdGt = obj.value;
                            } else if (obj.op == ‘less‘) {
                                params.rdLt = obj.value;
                            } else if (obj.op == ‘equal‘) {
                                params.rdGt = obj.value;
                                params.rdLt = obj.value;
                            }
                        }else{
                            params[obj.field] = obj.value;
                        }
                    }
                    //console.log(params);
                    var columnJsonf = $(‘#‘+id).datagrid("options").frozenColumns;
                    var columnJson = $(‘#‘+id).datagrid("options").columns;
                    var form = $(‘<form></form>‘);  
                    // 设置属性  
                    form.attr(‘action‘, url);  
                    form.attr(‘method‘, ‘post‘);  
                    // form的target属性决定form在哪个页面提交  
                    // _self -> 当前页面 _blank -> 新页面  
                    form.attr(‘target‘, ‘_self‘);  
                    // 创建Input  
                    var input = $(‘<input type="hidden" name="columnJson" />‘);
                    var inputRow = $(‘<input type="hidden" name="rows" value="10" />‘);
                    var inputPage = $(‘<input type="hidden" name="page" value="1" />‘);
                    form.append(inputRow);
                    form.append(inputPage);
                    var jsonArray=new Array();
                    var arrayOn=new Array();
                    for (var i=0;i<columnJsonf.length;i++)
                    {
                         for (var j=0;j<columnJsonf[i].length;j++)
                            {
                                 var col=columnJsonf[i][j];
                                col.rowspan=columnJson.length;
                                arrayOn.push(col);
                            }
                    }
                    for (var i=0;i<columnJson.length;i++)
                    {
                        if(i==0){
                            for (var j=0;j<columnJson[i].length;j++)
                            {
                                 var colj=columnJson[i][j];
                                 arrayOn.push(colj);
                            }
                            jsonArray.push(arrayOn);
                        }else{
                            jsonArray.push(columnJson[i]);
                        }
                    }
                    
                   // alert(JSON.stringify(jsonArray));
                    input.attr(‘value‘, JSON.stringify(jsonArray));  
                    // 附加到Form
                    form.append(input);
                    form.appendTo("body");
                    form.css(‘display‘, ‘none‘);
                    // 提交表单  
                    form.form(‘submit‘, {    
                        url:url,    
                        onSubmit: function(param){
                            $.each(params, function(name, value) {
                                param[name]=value;
                                });
                        }    
                    });
                    form.remove();
                }

easyui datagrid 可过滤行的数据表格 导出

标签:

原文地址:http://www.cnblogs.com/ckaifeng/p/5013451.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!