【mmGrid】关于mmGrid的分页器的BUG问题

Lucay丶 2017-12-25 05:24:07
使用bootstrap前台框架要做出来.NET的gridview的效果实在是太难了,
最后选择了最像gridview的mmGrid控件,
这个控件讲真,多选、反选效果做的还真是像gridview
可是在分页上,借助官方文档的示例做了一个,可是发现了BUG
包括官方文档的BUG……
代码如下

1.JSP
[code=JavaScript]
//报名信息列
var bm_cols = [
{ title:'收费期间', name:'sfqj' ,width:80, align:'center',lockDisplay: true,lockWidth:true },
{ title:'收费批次', name:'sfpc' ,width:120, align:'center',lockDisplay: true,lockWidth:true },
{ title:'已报名项目名称', name:'xmmc' ,width:120, align:'center',lockDisplay: true,lockWidth:true },
{ title:'收费内容', name:'sfnr' ,width:180, align:'center',lockDisplay: true,lockWidth:true },
{ title:'收费起始时间', name:'sfqssj' ,width:120, align:'center',lockDisplay: true,lockWidth:true },
{ title:'收费截止时间', name:'sfjzsj' ,width:120, align:'center',lockDisplay: true,lockWidth:true },
{ title:'收费标准', name:'sfbz' ,width:80, align:'right',lockDisplay: true,lockWidth:true },
{ title:'已收金额', name:'yjje' ,width:80, align:'right',lockDisplay: true,lockWidth:true },
{ title:'是否支付成功', name:'sfzfcg' ,width:80, align:'center',lockDisplay: true,lockWidth:true },
{ title:'操作', name:'', width: 80, align: 'center', renderer: function(val,item,rowIndex){
return "<a href=\"" + item.bmid + "\">报名信息</a>";
//return item.sfqj;
},lockDisplay: true}
];

var service_list = $("#mmg").mmGrid({
cols : bm_cols, //用于显示表头
height : 415,
width : 'auto',
root : 'items',//数据源选择
multiSelect : true,//是否可多选
nowrap: true,
checkCol: true,
indexCol:true,
noDataText:"没有数据", //没有数据时显示没有数据
fullWidthRows: true,
url : "<%=basePath%>/getBmData.action",
method : 'POST',
plugins: [
$('#pg').mmPaginator({}) //这个是用来翻页的
]
});
[/code]


数据源通过后台ajax传过来的json串
2.action

for(int i = 0;i < 50; i++){
jsobject = new JSONObject();
jsobject.put("bmid", "bm00" + i); //数据主键ID
jsobject.put("sfqj", "2017"); //收费期间
jsobject.put("sfpc", "2017010001"); //收费批次
jsobject.put("xmmc", "收费00" + i); //收费项目名称
jsobject.put("sfnr", "收费" + i); //收费内容
jsobject.put("sfqssj", "2017-01-07"); //收费起始时间
jsobject.put("sfjzsj", "2025-09-23"); //收费截止时间
jsobject.put("sfbz", "2,100.03"); //收费标准
jsobject.put("yjje", "0.00"); //已收金额
jsobject.put("sfzfcg", "否"); //是否支付成功
jslist.add(jsobject);
}
jsobject = new JSONObject();
jsobject.put("totalCount", 50);
jsobject.put("items", jslist);
return ActionSupport.SUCCESS;


很显然我已经配合插件自带的mmPaginator分页器 把 totalCount 塞了进去,最后显示的效果却差强人意:
我做了一共50条数据来测试分页结果
大家注意第一页



再看第一页底部的数据,序号仍然是全部数据的最后一条


然后是第二页,很奇怪,第二页顶部确实是从20号索引开始的,但是数据仍然是全部数据的第一条“收费0”


第二页底部却……把所有数据往后错了20个位置……什么鬼这是?


官方文档里的11号分页demo也有这个问题。
这是我找到的demo:http://www.jq22.com/demo/mmGrid-master20150916/examples/index.html

是BUG吧?还是说插件分页器的JS需要改善一下?

有用过mmGrid的大神求解释一下,我实在搞不懂js
...全文
756 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
有小猪佩奇 2019-05-14
  • 打赏
  • 举报
回复
这是服务器分页吧,服务器分页代码有问题?
g1354483 2019-02-24
  • 打赏
  • 举报
回复
你很菜的想法,分页器是按页取数据,你20条一分页就每次请求返回20条,请求的传值有页码,根据页码算返回当页的20条数据,你每次全返回肯定每页都是弟一条开始,还有全部返回很影响性能,如果几万条每次请求都返回你服务器能扛几人同时访问,你以为分页是用来干嘛的,问无聊问题还怪有bug
Lucay丶 2018-08-06
  • 打赏
  • 举报
回复
好吧 没有来回答的我看智商也不过如此
内容概要:本文围绕“粒子群优化算法驱动的永磁同步电机电流环多参数协同辨识研究”,提出一种基于Simulink仿真实现的高精度参数辨识方法,旨在解决永磁同步电机(PMSM)在高性能电流控制中因关键参数(如电感、电阻、永磁磁链等)不准确或时变所导致的控制性能下降问题。研究构建了PMSM的精确数学模型,并在Simulink环境中搭建完整的电流环控制系统仿真平台,创新性地引入粒子群优化算法(PSO)对多个关键参数进行在线或多工况下的协同辨识。文中详细阐述了PSO算法的核心机制、适应度函数的设计原则(通常基于模型输出与实际响应的误差最小化)、参数初始化与收敛判据,并通过大量仿真实验验证了该方法在不同负载和运行条件下的辨识精度、收敛速度与强鲁棒性,有效提升了电流环的动态响应能力、抗干扰性和整体控制系统的稳定性。; 适合人群:具备电机控制理论、现代智能优化算法基础及MATLAB/Simulink仿真能力,从事电气工程、自动化控制、新能源汽车电驱动系统等领域的高校研究生、科研人员及企业研发工程师。; 使用场景及目标:①应用于高精度伺服驱动、电动汽车电驱系统等对电机参数敏感的高端装备中,实现控制的精细化标定与自适应;②为智能优化算法在复杂非线性系统参数辨识领域的工程应用提供完整的仿真案例和技术范本;③服务于电机控制系统的故障诊断、性能评估及下一代自整定控制的研发。; 阅读建议:建议读者结合提供的Simulink模型与MATLAB代码进行动手实践,重点剖析PSO算法与电机模型的耦合机制,深入理解适应度函数的构建逻辑,并可进一步尝试将该方法拓展至温度补偿、磁饱和等非线性因素的联合辨识,或迁移至其他类型的电机(如感应电机)控制中,以深化对数据驱动与模型驱动融合控制策略的理解。

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧