jQuery MiniUI

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

datagrid 非url分页那些问题! [复制链接]

Rank: 6Rank: 6

跳转到指定楼层
楼主
发表于 2013-8-23 09:40:47 |只看该作者 |倒序浏览
表格不设置url
每列都允许排序allowSort="true"
出现点击某列排序的时候,调试检测res.data有数据,调用方法设置_g.setData(res.data);
偶然出现表格数据被清空出现空白没有加载返回的数据

表格没有方法一次性获取分页信息,所以用preload(e) e.params替代了如下方法获取分页信息
/*
    var p = {
        pageIndex: _g.getPageIndex(),
        pageSize: _g.getPageSize(),
        sortField: _g.getSortField(),
        sortOrder: _g.getSortOrder()
    };
    */

$.ajax({
        type: "post",
        url: "",
        data: e.params,
        success: function (res) {
            //_g.clearRows();  猜测是因为没有清除数据,加上去偶发情况降低,但还会出现
           //没有 loadData()方法 加载{data:[],total:0},所以调用2个方法分布加载
            _g.setData(res.data);
            _g.setTotalCount(res.total);
        },
        error: function (jqXHR, textStatus, errorThrown) {
        }
    });

Rank: 8Rank: 8

沙发
发表于 2013-8-23 10:19:36 |只看该作者

Rank: 6Rank: 6

板凳
发表于 2013-8-23 10:42:47 |只看该作者
客户端的暂时不考虑
是服务器的分页。
通过jq的 $.ajax


Rank: 8Rank: 8

地板
发表于 2013-8-23 13:35:35 |只看该作者
langben 发表于 2013-8-23 10:42
客户端的暂时不考虑
是服务器的分页。
通过jq的 $.ajax

不需要clearRows(),你setData()自然会把之前的数据替代掉

Rank: 6Rank: 6

5#
发表于 2013-8-23 21:17:07 |只看该作者
要不你尝试用jq 的 ajax跑一下分页,
第一次加载或点击排序偶尔会出现空白。

Rank: 8Rank: 8

6#
发表于 2013-8-26 11:05:36 |只看该作者
langben 发表于 2013-8-23 21:17
要不你尝试用jq 的 ajax跑一下分页,
第一次加载或点击排序偶尔会出现空白。 ...

其实跟客户端分页没什么区别
  1. function beforeload(e) {
  2.             e.cancel = true;
  3.             var p = {
  4.                 pageIndex: e.data.pageIndex,
  5.                 pageSize: e.data.pageSize,
  6.                 sortField: e.data.sortField,
  7.                 sortOrder: e.data.sortField
  8.             };
  9.             var json = mini.encode(p);
  10.             $.ajax({
  11.                 url: "../data/AjaxService.aspx?method=SearchEmployees",
  12.                 data: { p: json },
  13.                 success: function (text) {
  14.                     var dataAll = mini.decode(text);
  15.                     var data = dataAll.data;
  16.                     var total = dataAll.total;
  17.                     grid.setTotalCount(total);
  18.                     grid.setPageIndex(p.pageIndex);
  19.                     grid.setPageSize(p.pageSize);
  20.                     grid.setData(data);
  21.                 },
  22.                 error: function () {
  23.                 }
  24.             });
  25.         }
复制代码
试试

Archiver|普加软件

GMT+8, 2024-11-29 16:32 , Processed in 1.083260 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部