如题,当easy ui中的datagrid标签,请求的结果为0条数据时,会再次请求一次,像是确认一下一样,我想禁掉第二次请求,有什么办法?
http://www.cnblogs.com/zzgblog/p/4033065.html
这篇博客是我之前写的,但是现在遇到这个问题,还没有解决,我的代码就是按照这篇博客里写的
贴出我现在的代码:
html:
1 <div id="table_list"> 2 <table id="dg" iconcls="icon-edit"> 3 </table> 4 </div>
js:
1 $(function () { 2 loadData(); 3 }) 4 5 function loadData() { 6 $('#dg').datagrid({ 7 url: '/Report/GetData', 8 title: '还款计划表', 9 height: 400, 10 width: 1168, 11 fitColumns: false, 12 nowrap: false, 13 idField: 'aa', 14 loadMsg: '正在加载信息...', 15 pagination: true, 16 singleSelect: true, 17 pagePosition: 'bottom', 18 pageSize: 10, 19 pageNumber: 1, 20 pageList: [10, 20, 30], 21 queryParams: {}, 22 columns: [[ 23 { field: 'aa', title: '标题1', width: 110, align: 'center' }, 24 { field: 'bb', title: '标题2', width: 110, align: 'center' }, 25 { field: 'cc', title: '标题3', width: 110, align: 'center' }, 26 { field: 'dd', title: '标题4', width: 110, align: 'center' }, 27 { 28 field: 'ee', title: '标题5', width: 110, align: 'center', 29 formatter: function (value, row, index) { 30 return value == null ? "未知" : value; 31 } 32 }, 33 { 34 field: 'ff', title: '标题6', width: 200, align: 'center', 35 formatter: function (value, row, index) { 36 return value == null ? "未绑定" : value; 37 } 38 }, 39 { field: 'gg', title: '标题7', width: 110, align: 'center' }, 40 { field: 'hh', title: '标题8', width: 110, align: 'center' }, 41 { field: 'ii', title: '标题9', width: 110, align: 'center' }, 42 { field: 'jj', title: '标题10', width: 110, align: 'center' }, 43 { field: 'kk', title: '标题11', width: 110, align: 'center' }, 44 { 45 field: 'll', title: '标题12', width: 110, align: 'center', 46 formatter: function (value, row, index) { 47 return ChangeDateFormat(value); 48 } 49 } 50 ]] 51 }); 52 } 53 54 function ChangeDateFormat(cellval) { 55 var date = new Date(parseInt(cellval.replace("/Date(", "").replace(")/", ""), 10)); 56 var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1; 57 var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); 58 return date.getFullYear() + "-" + month + "-" + currentDate; 59 }
C#代码:
1 public ActionResult GetData(Param param) 2 { 3 param.page = param.page <= 0 ? 1 : param.page; 4 ReturnList resultList = _DataHelper.RepaymentPlan(param); 5 return Json(new { rows = resultList.ResultList, total = resultList.TotalCount }, JsonRequestBehavior.AllowGet); 6 }
楼主用的是1.4版么? 如果是的话请参考http://www.cnblogs.com/Reaver/p/4056770.html,我刚遇到这个问题!
非常感谢!!!
你先确定你是不是调用了:$('#dg').datagrid('reload'); 重新加载。如果没有。请把你的code都贴出来。让大伙帮你找找原因。
没有调用reload啊,稍等,我贴一下代码哈
http://www.cnblogs.com/zzgblog/p/4033065.html
看一下这个吧,我之前写的。。。
@张泽果: 我看你给的网址中有这个:
function UpdateData() { 68 //点击弹出层的确定按钮触发的事件——刷新datagrid 69 $('#dg').datagrid('reload'); 70 };
@ArnoldZhang: 我已经贴出了我现在的代码哈
帖代码
稍等,我贴一下代码哈
http://www.cnblogs.com/zzgblog/p/4033065.html
看一下这个吧,我之前写的。。。
@张泽果: 我已经贴出了我现在的代码哈
我已经贴出了我现在的代码哈
@张泽果: 好的
楼下兄弟已经帮我解决了,1.4这个版本有缺陷。。。
本身的datagrid是不会有这种结果为0,要重新确认一下的情况
你把 $('#dg').datagrid('reload'); 注销一下 试试
注销是什么意思呢?
@张泽果: 注释
@Yu: 我现在的代码里,就没有reload,还是有这个问题的
@张泽果: 你提供的链接中的第二段代码的69行中有
@Yu: 额。。那是一个demo,我现在的代码里没有reload,而且我觉得demo中的reload,在点击div中的确定按钮时才会触发,普通操作不会触发的
@张泽果: 那就不知道了 最好把你这个的代码贴出来
@Yu: 恩,现在情况是,当查询结果有数据的时候,就查询一次,没有数据的时候会查询第二次。所以应该不会是reload的原因,我明天去公司了再贴代码吧
@张泽果: 我已经贴出了我现在的代码哈
@Yu: 我已经贴出了我现在的代码哈
@张泽果: 没什么发现
你只能再查查其他什么地方有调用 loadData()
@Yu: 我基本确定不是我代码的问题,是easy ui自身的问题
@张泽果: datagrid 也有在用,没你说的那样,会重新请求
你是咋么确定它会重新请求的?
@Yu: 打断点啊,如果请求结果为0条数据,则重新请求一次
@张泽果: 你用Fiddler 抓一包 看看是不是两次请求
@Yu: 是的,两次,我用google看的,确认两次无疑
@张泽果: 那你换个EasyUI 版本试试了,
我这咋么也不会重新请求
楼下兄弟已经帮我解决了,1.4这个版本有缺陷。。。
数据库中存入一条满足条件的空数据,比如,数据内容全是空格。
这种方式显然不太好吧。。。而且会显示出来为一条数据,然后显示一个空行
楼下兄弟已经帮我解决了,1.4这个版本有缺陷。。。