首页 > 其他 > 详细

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

时间:2015-12-02 17:53:22      阅读:366      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!