easyui中的datagrid分页的同时如何同步显示对应的全部数据的柱状图,以及如何导出全部数据的Excel?

最近做一个java web项目,ssh框架,前端是easyUI。

在数据列表采用的是easyUI的datagrid带分页的,后台分页,也就是每次只能返回一页的数据。

点击查询后要生成列表以及柱状图。点击导出要导出Excel。

1、柱状图展示要使用所有的记录,但是分页的话每次只返回一页数据,如何在分页列表显示的同时显示所有数据的柱状图?同时不希望每次翻页都要为柱状图查询所有数据,最好只需要在最开始查询一次。

2、如果单独生成柱状图,也就是和列表展示不需要同步,单独点击按钮发送请求生成图,这时候如何保证发送的请求参数跟列表的请求一样?也就是说,在生成了列表以后,用户完全有可能改变表单的内容,导致再次发送请求得到的数据和列表里显示的不一样。

3、还有就是在分页的时候,需要获得记录总数,这样每次翻页都要查询两次,一次查询记录一次查询总数,有没有更好的解决办法?

4、要将datagrid的数据全部导出到Excel,采用后端生成发送到浏览器下载,这就遇到了和问题2一样的问题,我需要再次发送请求,去查询出所有的数据,但是如何保证这次请求的内容和当前列表显示的一样,重新提交表单万一用户改变了呢?还是说保存上一次的请求参数,如何实现呢?

阅读 5.6k
1 个回答
  1. 既然你的柱状图需要全部数据,那你做服务器端分页意义就不大了。所以直接返回所有数据,在 datagrid 里使用客户端分页功能(好久没用 easyui 不知道有没得官方 API 实现,我记得 Demo 里是有示例的)。当然如果你的住状图只需要一两个字段的数据,而表格需要很多字段的时候,还是采用服务器端分页比较好,两个数据分开加载。datagrid 翻页不会刷新页面,所以你的柱状图会好好的。

  2. 参数……请求的时候就缓存下来,就可以保证一样了啊。

  3. 这个……我还真没有啥好办法,不过既然你柱状图需要全部数据,再怎么也能得到总数吧?

  4. 既然你都说是和 2 一样的问题了,那我也懒得再说一次。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题