对异步刷新获取的数据排序、分页

tuo_bing tuo_bing 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
系统需求:根据用户选择的时间段,得到销售的数据记录,重新更改时间,不刷新整个页面,获取新的数据填充到 Table
中,Table 中的数据可以点击表头排序,数据量大的话,可以分页。

本人现在用的方法是 :
(一)提交表单用 jQuery

function listData(data){
var str ;
var mytable = $("#dayTab");
$("table.tablesorter tbody tr").each(function(){
$(this).remove();
});

$.each(json,function(i,turnoverReport){
str = "<tr><td>"+turnoverReport.tradeDate+"</td><td>"+turnoverReport.clientNum+"</td><td>"+turnoverReport.returnedNum+"</td><td>"+turnoverReport.productNum+"</td><td>"+turnoverReport.weight+"</td><td>"+turnoverReport.turnover+"</td><td>"+turnoverReport.price+"</td>";

mytable.append(str);
});

$(".tablesorter").tablesorter();
}


,前台 Table 的排序用 tablesort
$("#dayTab").tablesorter();

问题: 对于用 jQuery 重构的表 ,tablesort的排序功能不予以支持(重新提交后,点击表头不能排序)

(二) 使用 displaytag
前台 jsp 源码:

<display:table id="element" name="saleItemsList" requestURI="day_turnover2.action" pagesize="15" export="true" size="resultSize" partialList="true">
<display:column property="commodityNo" title="商品编号" sortable="true" headerClass="sortable" ></display:column>
<display:column property="name" title="商品名称"></display:column>
<display:column property="price" title="价格" sortable="true" headerClass="sortable" ></display:column>
<display:column property="quantity" title="数量"></display:column>
<display:column property="amount" title="总额" sortable="true" headerClass="sortable" ></display:column>
<display:column property="saleDate" title="出售日期"></display:column>

</display:table>

参考资料:http://hi.baidu.com/seashell752/blog/item/af5ac50863c890930b7b8254.html
使用 displaytag 的好处就是它本身就自带了分页和排序,并且还有导出的功能
问题: 点击表头排序,分页 等待的时间太长 (点击一次"排序"或者"下一页" 要 4-5 s, 用SQL查询数据,时间不到 1s)


本人对 jQuery 学习时间不长, displaytag 也是在摸索中前进,希望有高人指点下,或者请有经验的前辈分享下处理过类似问题的成功的方法,谢谢大家 。。。
...全文

相关推荐

评论 35
收藏 已收藏
分享
返回顶部
tuo_bing
Web 开发 81,108 成员 341,721 内容