jQuery MiniUI

 找回密码
 立即注册
查看: 15732|回复: 12
打印 上一主题 下一主题

将根据条件查询的结果导出Excel [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2014-2-28 12:06:50 |只看该作者 |倒序浏览
本帖最后由 tiramisuczl 于 2014-2-28 12:08 编辑

请问: 为什么条件查询的表格数据结果,导出Excel 时却是默认的非按条件查询的结果呢? 
demo 程序 的导出Excel (http://www.miniui.com/demo/#src=datagrid/export.html)  也是不对的。
主要是条件值没传入……要怎么实现将依条件查询的结果导出Excel 呢?

问题2: 设置了表格属性:showColumnsMenu="true" ,有些列不显示了,但导出Excel 时怎么还在呢? 能做到只导出显示的列吗?

以上谢谢!

Rank: 8Rank: 8

沙发
发表于 2014-2-28 14:17:00 |只看该作者

1 demo里我们只传了columns去后台,没传key
2 可以前台拼接columns的时候把隐藏的column去掉
我把我们demo改了一下,你拷到试用包demo/datagrid下跑下看看
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 2

板凳
发表于 2014-2-28 15:15:53 |只看该作者
felt 发表于 2014-2-28 14:17
1 demo里我们只传了columns去后台,没传key
2 可以前台拼接columns的时候把隐藏的column去掉
我把我们dem ...

好的,谢谢……我去试试看,非常感谢

Rank: 2

地板
发表于 2014-2-28 17:18:48 |只看该作者
felt 发表于 2014-2-28 14:17
1 demo里我们只传了columns去后台,没传key
2 可以前台拼接columns的时候把隐藏的column去掉
我把我们dem ...

demo 是可以实现……但再请教个问题:

<input id="ck" name="qdrq" class="mini-checkbox"  text="是否完成" style="width:80px"/>

    var flag;

    var t = mini.get("ck");
    if (t.checked) {
        flag = "Y"
    }
    else
    { flag = "N" }

这个flag 参数要怎么传进去呢?

Rank: 8Rank: 8

5#
发表于 2014-2-28 17:28:45 |只看该作者
tiramisuczl 发表于 2014-2-28 17:18
demo 是可以实现……但再请教个问题:

在负责提交的form里在用个mini-hidden负责这个数据
<input type="hidden" name="flag" id="flagHidden" />
       var flag=
           ..你flag参数处理...
        document.getElementById("flagHidden").value = flag;

Rank: 2

6#
发表于 2014-3-1 10:27:13 |只看该作者
felt 发表于 2014-2-28 17:28
在负责提交的form里在用个mini-hidden负责这个数据

       var flag=

我觉得奇怪的是,type="text" 参数都可以传进去, 但: class="mini-checkbox"  或者 class="mini-datepicker"  的值怎么都传不进去呢?

Rank: 8Rank: 8

7#
发表于 2014-3-1 14:13:11 |只看该作者
tiramisuczl 发表于 2014-3-1 10:27
我觉得奇怪的是,type="text" 参数都可以传进去, 但: class="mini-checkbox"  或者 class="mini-datepi ...

都能传的,你怎么写的,看demo,http://www.miniui.com/demo/#src=form/form.html

Rank: 2

8#
发表于 2014-3-3 08:27:55 |只看该作者
felt 发表于 2014-3-1 14:13
都能传的,你怎么写的,看demo,http://www.miniui.com/demo/#src=form/form.html

后来时间的我改为: 
    var starttime = $("input[name='starttime']").val();
    document.getElementById("Hidden1").value = starttime;  这种就可以取得到了……
但我还有个问题要请教一下:
1. 表格里的数据第一步已经通过点查询按钮查询出来了
2.第二步应该直接导出去了,为何还要再执行一次查询导出呢? 若是查询或统计占用时间较大,不是导出EXCEL时会很慢? 能否将查询的结果直接导出,而不用在导出时再重新查询呢? 
谢谢!

Rank: 8Rank: 8

9#
发表于 2014-3-3 09:32:25 |只看该作者
tiramisuczl 发表于 2014-3-3 08:27
后来时间的我改为: 
    var starttime = $("input[name='starttime']").val();
    document.getEleme ...

你直接 前台把查询条件传到后台之后,后台根据查询条件查出来数据集,然后直接导出excel,并且返回给前台,这些动作都在后台完成,不要先把数据查出来之后,再跑一遍后台,把这些数据再导出excel

Rank: 2

10#
发表于 2014-3-3 12:22:42 |只看该作者
factory 发表于 2014-3-3 09:32
你直接 前台把查询条件传到后台之后,后台根据查询条件查出来数据集,然后直接导出excel,并且返回给前台,这 ...

我是这么做的……只不过我觉得查询按钮也是做同样的工作,那为何要重复两次呢? 觉得有点重复了……

Archiver|普加软件

GMT+8, 2024-10-7 14:27 , Processed in 1.021554 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部