jQuery MiniUI

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

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

Rank: 4

11#
发表于 2013-9-16 11:22:48 |只看该作者
factory 发表于 2013-9-16 11:14
如果是动态的列,那你得先grid.setColumns(columns)
给表格设定新的列,然后再通过url去加载数据 ...

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.set(text);
                }
            });  
            grid.setUrl("../Sytem/SysDate.aspx?method=GetSaleDay");
            grid.load({ data: json });

        }

是把上面的  grid.set(text); 修改成grid.setColumns(text)??

Rank: 8Rank: 8

12#
发表于 2013-9-16 11:31:45 |只看该作者
linda931 发表于 2013-9-16 11:22
function onSearch() {
            var form = new mini.Form("#form1");
            form.validate(); ...

对,grid.set(..)你需要给到他属性啊,不然不知道你这个text是给的表头?还是数据?还是url?

grid.setColumns(text)
或者grid.set({
   columns:text
})

Rank: 4

13#
发表于 2013-9-16 11:34:52 |只看该作者
factory 发表于 2013-9-16 11:31
对,grid.set(..)你需要给到他属性啊,不然不知道你这个text是给的表头?还是数据?还是url?

grid.setColumn ...

{
                columns: [
            { type: "indexcolumn" },
            { field: "机构", width: 100, headerAlign: "center", header: "机构" },
            { field: "纯净水18.9数量", width: 100, headerAlign: "center", header: "纯净水18.9数量" },
            { field: "纯净水18.9金额", width: 100, headerAlign: "center", header: "纯净水18.9金额" },
            { field: "数量合计", width: 100, headerAlign: "center", header: "数量合计" },
            { field: "金额合计", width: 100, headerAlign: "center", header: "金额合计" }
            ]}
这就是text的内容
只有机构后面的列是变化的

Rank: 8Rank: 8

14#
发表于 2013-9-16 11:41:24 |只看该作者
linda931 发表于 2013-9-16 11:34
{
                columns: [
            { type: "indexcolumn" },

grid.setColumns(text.columns)
参数必须为数组

动态修改列,只能是重新setColumns()全部列
不能只修改列中一列,或者几列,其他不变.

Rank: 4

15#
发表于 2013-9-16 11:41:38 |只看该作者
本帖最后由 linda931 于 2013-9-16 11:43 编辑
lost 发表于 2013-9-16 11:34
field是对应到数据库字段的名称,不可能是中文的。
http://www.miniui.com/demo/#src=datagrid/mergecolu ...

我这是使用存储过程做一个查询报表 表头是产品信息名称,第一列是机构名称。
类似:一下数据
姓名 科目  分数
001   语文  99
001   数学  89
002   英语  87
002   数学  90
显示报表结果(或者在C#Datatable中的结果就是这样的)
姓名     语文   数学  英语
001     99       89     0
002      0        90     87

Rank: 4

16#
发表于 2013-9-16 11:46:20 |只看该作者
factory 发表于 2013-9-16 11:41
grid.setColumns(text.columns)
参数必须为数组

我写的查询方法中就有一个方法:
$.ajax({
                url: "../SaleManager/SysModel.aspx?method=GetSaleColums",
                data: { data: json },
                cache: false,
                success: function (text) {
                    grid.set(text);
                }
            });  
就是来从新修改全部的列。 只不过第一序号、和机构在结果中总是存在的

Rank: 8Rank: 8

17#
发表于 2013-9-16 13:28:57 |只看该作者
linda931 发表于 2013-9-16 11:46
我写的查询方法中就有一个方法:
$.ajax({
                url: "../SaleManager/SysModel.aspx?method ...

那你的数据总得有个字段名吧?
比如{name:"001",lesson:"语文",point:"99"}

那你的 列应该是这样的
[
    {field:"name",header:"姓名"},
    {fiedl:"lesson",header:科目"},
    {field:"point",header:"分数"}
]

Rank: 4

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

[{ type: "indexcolumn" },{ field: "机构",width: 100, headerAlign: "center", header:"机构"},{ field: "纯净水11.3升数量",width: 100, headerAlign: "center", header:"纯净水11.3升数量"},{ field: "纯净水11.3升金额",width: 100, headerAlign: "center", header:"纯净水11.3升金额"},{ field: "纯净水18.9数量",width: 100, headerAlign: "center", header:"纯净水18.9数量"},{ field: "纯净水18.9金额",width: 100, headerAlign: "center", header:"纯净水18.9金额"},{ field: "精包装纯净水11.3数量",width: 100, headerAlign: "center", header:"精包装纯净水11.3数量"},{ field: "精包装纯净水11.3金额",width: 100, headerAlign: "center", header:"精包装纯净水11.3金额"},{ field: "矿物质水11.3数量",width: 100, headerAlign: "center", header:"矿物质水11.3数量"},{ field: "矿物质水11.3金额",width: 100, headerAlign: "center", header:"矿物质水11.3金额"},{ field: "矿物质水18.9数量",width: 100, headerAlign: "center", header:"矿物质水18.9数量"},{ field: "矿物质水18.9金额",width: 100, headerAlign: "center", header:"矿物质水18.9金额"},{ field: "矿物质水9升数量",width: 100, headerAlign: "center", header:"矿物质水9升数量"},{ field: "矿物质水9升金额",width: 100, headerAlign: "center", header:"矿物质水9升金额"},{ field: "数量合计",width: 100, headerAlign: "center", header:"数量合计"},{ field: "金额合计",width: 100, headerAlign: "center", header:"金额合计"}]

这是 grid.setColumns(text);中的text内容。

Rank: 4

19#
发表于 2013-9-16 14:16:13 |只看该作者
本帖最后由 linda931 于 2013-9-16 14:20 编辑
factory 发表于 2013-9-16 13:28
那你的数据总得有个字段名吧?
比如{name:"001",lesson:"语文",point:"99"}
{"total":20,"data":[{"矿物质水18.9金额":0.00,"金额合计":6.80,"精包装纯净水11.3金额":0.00,"矿物质水11.3金额":0.00,"数量合计":1.00,"矿物质水9升数量":0.00,"矿物质水11.3数量":0.00,"纯净水18.9数量":1.00,"矿物质水18.9数量":0.00,"精包装纯净水11.3数量":0.00,"纯净水11.3升金额":0.00,"纯净水18.9金额":6.80,"纯净水11.3升数量":0.00,"矿物质水9升金额":0.00,"机构":"测试公司"},{"矿物质水18.9金额":0.00,"金额合计":13.60,"精包装纯净水11.3金额":0.00,"矿物质水11.3金额":0.00,"数量合计":2.00,"矿物质水9升数量":0.00,"矿物质水11.3数量":0.00,"纯净水18.9数量":2.00,"矿物质水18.9数量":0.00,"精包装纯净水11.3数量":0.00,"纯净水11.3升金额":0.00,"纯净水18.9金额":13.60,"纯净水11.3升数量":0.00,"矿物质水9升金额":0.00,"机构":"北12"},{"矿物质水18.9金额":19.60,"金额合计":19.60,"精包装纯净水11.3金额":0.00,"矿物质水11.3金额":0.00,"数量合计":2.00,"矿物质水9升数量":0.00,"矿物质水11.3数量":0.00,"纯净水18.9数量":0.00,"矿物质水18.9数量":2.00,"精包装纯净水11.3数量":0.00,"纯净水11.3升金额":0.00,"纯净水18.9金额":0.00,"纯净水11.3升数量":0.00,"矿物质水9升金额":0.00,"机构":"北345"},{"矿物质水18.9金额":0.00,"金额合计":36.40,"精包装纯净水11.3金额":0.00,"矿物质水11.3金额":0.00,"数量合计":7.00,"矿物质水9升数量":0.00,"矿物质水11.3数量":0.00,"纯净水18.9数量":7.00,"矿物质水18.9数量":0.00,"精包装纯净水11.3数量":0.00,"纯净水11.3升金额":0.00,"纯净水18.9金额":36.40,"纯净水11.3升数量":0.00,"矿物质水9升金额":0.00,"机构":"小区自提点"},{"矿物质水18.9金额":0.00,"金额合计":109.20,"精包装纯净水11.3金额":0.00,"矿物质水11.3金额":0.00,"数量合计":21.00,"矿物质水9升数量":0.00,"矿物质水11.3数量":0.00,"纯净水18.9数量":21.00,"矿物质水18.9数量":0.00,"精包装纯净水11.3数量":0.00,"纯净水11.3升金额":0.00,"纯净水18.9金额":109.20,"纯净水11.3升数量":0.00,"矿物质水9升金额":0.00,"机构":"sa自提点"},{"矿物质水18.9金额":29.40,"金额合计":138.20,"精包装纯净水11.3金额":0.00,"矿物质水11.3金额":0.00,"数量合计":19.00,"矿物质水9升数量":0.00,"矿物质水11.3数量":0.00,"纯净水18.9数量":16.00,"矿物质水18.9数量":3.00,"精包装纯净水11.3数量":0.00,"纯净水11.3升金额":0.00,"纯净水18.9金额":108.80,"纯净水11.3升数量":0.00,"矿物质水9升金额":0.00,"机构":"北区送水点"},{"矿物质水18.9金额":29.40,"金额合计":138.20,"精包装纯净水11.3金额":0.00,"矿物质水11.3金额":0.00,"数量合计":19.00,"矿物质水9升数量":0.00,"矿物质水11.3数量":0.00,"纯净水18.9数量":16.00,"矿物质水18.9数量":3.00,"精包装纯净水11.3数量":0.00,"纯净水11.3升金额":0.00,"纯净水18.9金额":108.80,"纯净水11.3升数量":0.00,"矿物质水9升金额":0.00,"机构":"东区送水公司"},{"矿物质水18.9金额":58.80,"金额合计":303.60,"精包装纯净水11.3金额":0.00,"矿物质水11.3金额":0.00,"数量合计":42.00,"矿物质水9升数量":0.00,"矿物质水11.3数量":0.00,"纯净水18.9数量":36.00,"矿物质水18.9数量":6.00,"精包装纯净水11.3数量":0.00,"纯净水11.3升金额":0.00,"纯净水18.9金额":244.80,"纯净水11.3升数量":0.00,"矿物质水9升金额":0.00,"机构":"西区送水公司"},{"矿物质水18.9金额":39.20,"金额合计":306.00,"精包装纯净水11.3金额":0.00,"矿物质水11.3金额":8.80,"数量合计":43.00,"矿物质水9升数量":0.00,"矿物质水11.3数量":1.00,"纯净水18.9数量":38.00,"矿物质水18.9数量":4.00,"精包装纯净水11.3数量":0.00,"纯净水11.3升金额":0.00,"纯净水18.9金额":258.00,"纯净水11.3升数量":0.00,"矿物质水9升金额":0.00,"机构":"派送公司"},{"矿物质水18.9金额":41.00,"金额合计":347.80,"精包装纯净水11.3金额":0.00,"矿物质水11.3金额":0.00,"数量合计":64.00,"矿物质水9升数量":0.00,"矿物质水11.3数量":0.00,"纯净水18.9数量":59.00,"矿物质水18.9数量":5.00,"精包装纯净水11.3数量":0.00,"纯净水11.3升金额":0.00,"纯净水18.9金额":306.80,"纯净水11.3升数量":0.00,"矿物质水9升金额":0.00,"机构":"传媒自提点"},{"矿物质水18.9金额":73.80,"金额合计":503.20,"精包装纯净水11.3金额":6.20,"矿物质水11.3金额":7.20,"数量合计":97.00,"矿物质水9升数量":5.00,"矿物质水11.3数量":1.00,"纯净水18.9数量":81.00,"矿物质水18.9数量":9.00,"精包装纯净水11.3数量":1.00,"纯净水11.3升金额":0.00,"纯净水18.9金额":385.80,"纯净水11.3升数量":0.00,"矿物质水9升金额":30.20,"机构":"测试自提点"},{"矿物质水18.9金额":24.60,"金额合计":621.40,"精包装纯净水11.3金额":12.40,"矿物质水11.3金额":7.20,"数量合计":117.00,"矿物质水9升数量":0.00,"矿物质水11.3数量":1.00,"纯净水18.9数量":111.00,"矿物质水18.9数量":3.00,"精包装纯净水11.3数量":2.00,"纯净水11.3升金额":0.00,"纯净水18.9金额":577.20,"纯净水11.3升数量":0.00,"矿物质水9升金额":0.00,"机构":"we自提点"},{"矿物质水18.9金额":123.00,"金额合计":971.40,"精包装纯净水11.3金额":18.60,"矿物质水11.3金额":0.00,"数量合计":175.00,"矿物质水9升数量":6.00,"矿物质水11.3数量":0.00,"纯净水18.9数量":151.00,"矿物质水18.9数量":15.00,"精包装纯净水11.3数量":3.00,"纯净水11.3升金额":0.00,"纯净水18.9金额":793.80,"纯净水11.3升数量":0.00,"矿物质水9升金额":36.00,"机构":"自提点"},{"矿物质水18.9金额":172.20,"金额合计":1194.80,"精包装纯净水11.3金额":31.00,"矿物质水11.3金额":28.80,"数量合计":215.00,"矿物质水9升数量":1.00,"矿物质水11.3数量":4.00,"纯净水18.9数量":183.00,"矿物质水18.9数量":21.00,"精包装纯净水11.3数量":5.00,"纯净水11.3升金额":5.00,"纯净水18.9金额":951.60,"纯净水11.3升数量":1.00,"矿物质水9升金额":6.20,"机构":"大厅自提点"},{"矿物质水18.9金额":294.00,"金额合计":1563.60,"精包装纯净水11.3金额":7.80,"矿物质水11.3金额":17.60,"数量合计":216.00,"矿物质水9升数量":0.00,"矿物质水11.3数量":2.00,"纯净水18.9数量":183.00,"矿物质水18.9数量":30.00,"精包装纯净水11.3数量":1.00,"纯净水11.3升金额":0.00,"纯净水18.9金额":1244.20,"纯净水11.3升数量":0.00,"矿物质水9升金额":0.00,"机构":"西12"}]}

这是datagrid的数据。但是就是不显示结果

Rank: 4

20#
发表于 2013-9-16 14:26:22 |只看该作者
本帖最后由 linda931 于 2013-9-16 14:28 编辑
factory 发表于 2013-9-16 13:28
那你的数据总得有个字段名吧?
比如{name:"001",lesson:"语文",point:"99"}

也就是说我如果直接在grid.setColumns()中把调试出的结果写在里面是可以直接显示出结果来的。

那你们能否使用我上面的方法把结果显示出来??即使用方法获取显示的结构再使用grid.setColumns()把结果显示出来,而
不是把grid.setColumns()设置的列在前台写好了在把结果显示出来

Archiver|普加软件

GMT+8, 2024-5-18 19:18 , Processed in 1.034332 second(s), 8 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部