jQuery MiniUI

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

关于datagrid的url传值,有几个问题请教.麻烦各位了. [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2014-5-23 15:50:18 |只看该作者 |倒序浏览
本帖最后由 nnin41572382 于 2014-5-23 15:53 编辑

我想请教一下各位,  datagrid的url 如果需要传值,而且所需要传的值中包含datagrid里的pageIndex和pageSize, 而且只能通过url来传值(后台直接写好接收参数), 有没有什么方法能够实现?
代码比如我在js中写了grid.url = 'ModelVersion/getFeaVersionList/'+ a + '/'+ b;
假入a是pageIndex,b是pageSize,  有没有办法能够让每一次页面刷新load的时候动态的给a和b赋值pageIndex和pageSize呢?

Rank: 8Rank: 8

沙发
发表于 2014-5-23 16:07:47 |只看该作者
监听onbeforeload事件
function onBeforeLoad(e){
    var grid=e.sender;
    var url=...........................
    grid.setUrl(url)
}
这样试试

Rank: 2

板凳
发表于 2014-5-23 16:59:55 |只看该作者
felt 发表于 2014-5-23 16:07
监听onbeforeload事件
function onBeforeLoad(e){
    var grid=e.sender;

感谢您提供的方法, 我好想看到曙光了, 不过目前遇到点问题, js总是慢半拍, 第二页加载的还是第一页 我自己调试一下,, 有问题我再随时跟帖 万分感谢~

Rank: 2

地板
发表于 2014-5-23 17:01:15 |只看该作者
felt 发表于 2014-5-23 16:07
监听onbeforeload事件
function onBeforeLoad(e){
    var grid=e.sender;

我好像又明白点了,  onbeforeload事件是在读取url之后  set在页面之前 才执行的是么?

Rank: 8Rank: 8

5#
发表于 2014-5-23 17:05:44 |只看该作者
nnin41572382 发表于 2014-5-23 17:01
我好像又明白点了,  onbeforeload事件是在读取url之后  set在页面之前 才执行的是么? ...

beforeload就是在加载前,load的时候才会去加载数据
你页码看看有没有搞错

Rank: 2

6#
发表于 2014-5-23 17:18:18 |只看该作者
felt 发表于 2014-5-23 17:05
beforeload就是在加载前,load的时候才会去加载数据
你页码看看有没有搞错

//初始化miniui框架
mini.parse();

getData();

var grid = mini.get("grid");
// 监听刷新
grid
    .on(
        "beforeload",
        function(e) {

          // 设置传参
          var prid = window.Owner.prid;
          var id = window.Owner.id;
          var flag = window.Owner.flag;
          var currentProjectId = window.Owner.getcCurrentProjectId();
          // 获取分页数据
          // 页码
          var pageIndex = grid.getPageIndex();
          // 每页多少条
          var pageSize = grid.getPageSize();
          // 设置起始分页
          var start = pageIndex * pageSize;
          var limit = pageSize;
          // grid控件数据url
          var url = '/Domain/DynamicGridAjax.do?serviceUrl=ModelVersion/getFeaVersionList/'
              + prid
              + '/'
              + id
              + '/'
              + flag
              + '/'
              + currentProjectId
              + '/'
              + start + '/' + limit;
          grid.setUrl(url);
        });

// 提交和发布页面的初始化
function getData() {
  var grid = mini.get("grid");

  // 设置传参
  var prid = window.Owner.prid;
  var id = window.Owner.id;
  var flag = window.Owner.flag;
  var currentProjectId = window.Owner.getcCurrentProjectId();

  // 获取分页数据
  // 页码
  var pageIndex = grid.getPageIndex();
  // 每页多少条
  var pageSize = grid.getPageSize();
  // 设置起始分页
  var start = pageIndex * pageSize;
  var limit = pageSize;
  // grid控件数据url
  grid.url = '/Domain/DynamicGridAjax.do?serviceUrl=ModelVersion/getFeaVersionList/'
      + prid
      + '/'
      + id
      + '/'
      + flag
      + '/'
      + currentProjectId
      + '/'
      + start
      + '/' + limit;
  // 重新加载grid
  grid.load();
}


您好 这是我源码,  您可以帮我看一下么?  我是在父页面  mini.open() 出来的这个页面.  弹出后初始化显示正常,  在我点下一页按钮时.   js中读取的pageIndex 依然是0, 后台取到的是0, 断点跑完后此时页面显示页码为第二页.   再点下一页,  js中取到的pageIndex 是1,此时后台得到的依然是0,  再点击下一页后 实际应该显示第四页了,  js中取得pageIndex 为2,后台取到为1,,,以此类推    恳请帮助 麻烦您了

Rank: 2

7#
发表于 2014-5-23 17:28:34 |只看该作者
felt 发表于 2014-5-23 17:05
beforeload就是在加载前,load的时候才会去加载数据
你页码看看有没有搞错

我6楼提出的代码 js取pageIndex解决了, 因为应该从e.data.pageIndex取, 但是就是后台接收还是上一次set的url  这个您能帮我看一下么?

Rank: 2

8#
发表于 2014-5-23 17:33:07 |只看该作者
felt 发表于 2014-5-23 17:05
beforeload就是在加载前,load的时候才会去加载数据
你页码看看有没有搞错

您好, 这问题我解决了..依次类推 url也需要改的是e.url  然后直接赋值自己改好的url就好了  麻烦您了 占用这么多时间.十分感谢.

Archiver|普加软件

GMT+8, 2024-5-20 02:15 , Processed in 1.051514 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部