jQuery MiniUI

 找回密码
 立即注册
楼主: linda931
打印 上一主题 下一主题

DataGrid 动态加载列未显示?? [复制链接]

Rank: 4

21#
发表于 2013-9-16 16:30:39 |只看该作者
factory 发表于 2013-9-16 13:28
那你的数据总得有个字段名吧?
比如{name:"001",lesson:"语文",point:"99"}

能帮忙找出问题来吗?

Rank: 8Rank: 8

22#
发表于 2013-9-16 16:42:48 |只看该作者
linda931 发表于 2013-9-16 14:26
也就是说我如果直接在grid.setColumns()中把调试出的结果写在里面是可以直接显示出结果来的。

那你们能否 ...

不是,你setColumns()是设置的表头

数据的话,要么url加载后台返回的json字符串,如果是你自己用ajax交互的,返回数据之后
grid.setData(text.data)
grid.setTotalCount(text.total)

Rank: 4

23#
发表于 2013-9-16 16:46:10 |只看该作者
本帖最后由 linda931 于 2013-9-16 16:51 编辑
factory 发表于 2013-9-16 16:42
不是,你setColumns()是设置的表头

数据的话,要么url加载后台返回的json字符串,如果是你自己用ajax交互的 ...

怎么感觉你没有看懂我的意思

function onSearch() {
            var form = new mini.Form("#form1");
            form.validate();
            if (form.isValid() == false) return;
            var data = form.getData();
            var json = mini.encode(data);
            $.ajax({
                url: "../SaleManager/SysModel.aspx?method=GetSaleColums",
                data: { data: json },
                cache: false,
                success: function (text) {
                     grid.setColumns(text);
                }
            });        

            grid.setUrl("../Sytem/SysDate.aspx?method=GetSaleDay");
            grid.load({ data: json });
        }

上面的方法中:下面的代码是获取表头信息(表头的信息可以看 上面18#回复内容)
$.ajax({
                url: "../SaleManager/SysModel.aspx?method=GetSaleColums",
                data: { data: json },
                cache: false,
                success: function (text) {
                     grid.setColumns(text);
                }
            });        

下面的代码是获取数据(上面19#是实际数据内容)
grid.setUrl("../Sytem/SysDate.aspx?method=GetSaleDay");
            grid.load({ data: json });

但是最终就是不显示结果。
如果把18#的内容直接用  grid.setColumns()方法则数据可以正常呈现。

Rank: 4

24#
发表于 2013-9-16 17:27:19 |只看该作者
factory 发表于 2013-9-16 16:42
不是,你setColumns()是设置的表头

数据的话,要么url加载后台返回的json字符串,如果是你自己用ajax交互的 ...

能告诉我到底问题出在那吗???

Rank: 8Rank: 8

25#
发表于 2013-9-16 17:40:41 |只看该作者
linda931 发表于 2013-9-16 17:27
能告诉我到底问题出在那吗???

你18楼贴的是你的表头信息,用grid.setColumns()是对的啊.
另外,你ajax返回的如果是json字符串,需要转回数组能用grid.setColumns()

var columns = mini.decode(text);
grid.setColumns(columns)

Rank: 8Rank: 8

26#
发表于 2013-9-16 17:47:21 |只看该作者
本帖最后由 factory 于 2013-9-16 18:19 编辑
linda931 发表于 2013-9-16 17:27
能告诉我到底问题出在那吗???

另外,你的field如果带.号 那么我们会把你的数据当成复杂对象处理

比如
{
    name:{a:"2"}
}

那么field="name.a"
会把你数据当成上面这种结构来解析.  而不是{name.a:2},导致你的数据不存在
你把a.b改成a_b,把. 换掉

Rank: 4

27#
发表于 2013-9-17 09:00:46 |只看该作者
factory 发表于 2013-9-16 17:47
另外,你的field如果带.号 那么我们会把你的数据当成复杂对象处理

比如

这样基本解决了。但是把  . 换成别的符号就是不直观了。

但是至少我知道问题出在那了。



Rank: 8Rank: 8

28#
发表于 2013-9-17 09:30:59 |只看该作者
linda931 发表于 2013-9-17 09:00
这样基本解决了。但是把  . 换成别的符号就是不直观了。

但是至少我知道问题出在那了。

因为很多客户的数据数据就是上面这种格式的,所以a.b就是对应那种格式

Archiver|普加软件

GMT+8, 2024-6-2 09:02 , Processed in 1.060119 second(s), 8 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部