jQuery MiniUI

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

创建一个datagrid 但是并不像让它创建的时候就load出列表数据 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2013-9-26 16:28:38 |只看该作者 |倒序浏览
创建一个datagrid 不让它创建的时候就load出列表数据,而是通过点击一个按钮,才加载出列表信息,
比如:
$.ajax({
                url:"/ajaxcom",
                type:"post",
                data:{szCmd: '{\"UserOptor\": {\"GetUser\": {} } }'},
                success: function (text) {
                       //得到的text,就是用户的列表信息
                        m_JsonUsrList = mini.decode(text);
                },
                error:function(jqXHR, textStatus, errorThrown){
                       
                }

我要怎么在后期的时候,才把m_JsonUsrList的信息加载到datagrid里头呢,使用什么方法呢

Rank: 8Rank: 8

沙发
发表于 2013-9-26 16:56:44 |只看该作者
你这个text在decode之后,是数组还是一个有total和data的对象?
如果是前者的话直接grid.setData()
如果是后者的话 grid.setData(m_JsonUsrList.data)
grid.setTotalCount(m_JsonUsrList.total)

Rank: 2

板凳
发表于 2013-9-26 17:05:53 |只看该作者
factory 发表于 2013-9-26 16:56
你这个text在decode之后,是数组还是一个有total和data的对象?
如果是前者的话直接grid.setData()
如果是后 ...

text是一个json,如下
{“UserOptor”:{"GetUser":[{"szName":"admin","nUserType":1},{"szName":"guest","nUserType":0}]}}
里面有两个用户信息
但是这个json 最终可以转换成二维数据
array[0][0] = "admin",
array[0][1] = 1
array[1][0] = "guest"
array[1][1] = 0
要使用grid.setData(array); 这样吗

Rank: 8Rank: 8

地板
发表于 2013-9-26 17:26:56 |只看该作者
rui7331502 发表于 2013-9-26 17:05
text是一个json,如下
{“UserOptor”:{"GetUser":[{"szName":"admin","nUserType":1},{"szName":"guest" ...

setData()里面必须是数据数组

如果是表格的URL加载的话,需要返回的是{total:11,data:[]}这样的

Rank: 2

5#
发表于 2013-9-27 18:21:06 |只看该作者
factory 发表于 2013-9-26 17:26
setData()里面必须是数据数组

如果是表格的URL加载的话,需要返回的是{total:11,data:[]}这样的 ...

也就是说 只能通过在<div id="userDataGrid" class="mini-datagrid" style="width:100%;height:100%;" url="/ajaxcom" idField="id" sizeList="[5,10,20,50]" pageSize="10" borderStyle="border:none;">
这样刚开始创建的url里头在加载了?
有没有其他方式呢?

Rank: 9Rank: 9Rank: 9

6#
发表于 2013-9-28 10:03:40 |只看该作者
1.设置url
2.调用load方法
你可以不调用load方法,在点击按钮的时候grid.load();

Rank: 8Rank: 8

7#
发表于 2013-9-28 10:18:20 |只看该作者
表格里设置autoLoad="false",你点击按钮的时候grid.load()

Rank: 2

8#
发表于 2013-9-29 10:18:03 |只看该作者
niko 发表于 2013-9-28 10:03
1.设置url
2.调用load方法
你可以不调用load方法,在点击按钮的时候grid.load();

那我后期设置url 是不是用setUrl(“url”)方法
还有就是 我想后期拼出一个url返回值的类型 就是{totle:25,data{}}
grid可以后期加载我拼出来的这个json对象吗

Rank: 8Rank: 8

9#
发表于 2013-9-29 10:21:54 |只看该作者
你是开始没有数据,后面按按钮之后再加载的了?
你获取到json数据,然后grid.setData(json.data)一下就可以了、

Rank: 2

10#
发表于 2013-9-29 10:31:34 |只看该作者
felt 发表于 2013-9-29 10:21
你是开始没有数据,后面按按钮之后再加载的了?
你获取到json数据,然后grid.setData(json.data)一下就可以 ...

因为我这个ajax请求 返回的结果 跟demo是不一样的,如果我这个要改的话 也比较麻烦
所以 我只能把我返回的结果 转换成 demo中要求的返回格式
可是之前factory说 setData这个功能只能是数据数组呀

Archiver|普加软件

GMT+8, 2025-7-10 05:51 , Processed in 1.043463 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部