jQuery MiniUI

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

求救:datagrid 动态列,列数不固定 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2015-3-13 11:25:27 |只看该作者 |倒序浏览
datagrid 动态列,如果json过来的数据列不是固定的 有时候可能3列 有时候可能5列,请问这样的如何设置,谢谢

Rank: 8Rank: 8

沙发
发表于 2015-3-13 11:34:42 |只看该作者
动态生成设置列
var columns=............
grid.setColumns(columns)

Rank: 1

板凳
发表于 2015-3-13 11:45:57 |只看该作者
felt 发表于 2015-3-13 11:34
动态生成设置列
var columns=............
grid.setColumns(columns)

你好,假设有一个表有5列,ID1,ID2,ID3,ID4,ID5,下一个表可能就查三列,ID1,ID2,ID3,这个具体怎么获取并显示在前台啊,也就是columns的数量是不一致的,谢谢

Rank: 8Rank: 8

地板
发表于 2015-3-13 13:08:45 |只看该作者
huaxia 发表于 2015-3-13 11:45
你好,假设有一个表有5列,ID1,ID2,ID3,ID4,ID5,下一个表可能就查三列,ID1,ID2,ID3,这个具体怎 ...

1 先获取表头数据

2 通过表头数据生成表头

3,调用grid.setColumns(columns)生成

Rank: 1

5#
发表于 2015-3-13 18:23:11 |只看该作者

请问这段代码哪里有问题吗?怎么还是显示不出来啊

本帖最后由 huaxia 于 2015-3-13 18:26 编辑
felt 发表于 2015-3-13 13:08
1 先获取表头数据

2 通过表头数据生成表头

<div id="datagrid1" class="mini-datagrid" style="width:700px;height:280px;" url="countrys.txt" >

    </div>
<a class="mini-button">tt</a>
<script type="text/javascript">
        mini.parse();

        function tt()
        {

          var datagrid1 = mini.get("datagrid1");
            //datagrid1.url = "countrys.txt";
            var columns = ' [ { type: "indexcolumn" }, { field: "text", width: 120, header: "员工账号" } ] ';
            

            datagrid1.setColumns(columns);
            datagrid1.load();}

请问这段代码哪里有问题吗?怎么还是显示不出来啊




countrys.txt 数据:
[
    { "id": "usa", "text": "美国" },
    { "id": "cn", "text": "中国" },
    { "id": "jp", "text": "日本" },
    { "id": "en", "text": "英国" },
    { "id": "de", "text": "德国" },
    { "id": "fr", "text": "法国" },
        { "id": "ca", "text": "加拿大" },
        { "id": "at", "text": "奥地利" },
        { "id": "ch", "text": "瑞士" }
]


Rank: 1

6#
发表于 2015-3-13 18:50:49 |只看该作者
huaxia 发表于 2015-3-13 18:23
tt

        mini.parse();

已经出来 非常感谢

Rank: 1

7#
发表于 2015-3-17 16:56:26 |只看该作者
felt 发表于 2015-3-13 13:08
1 先获取表头数据

2 通过表头数据生成表头

你好,还是不行呢?能帮我看看吗?

Rank: 8Rank: 8

8#
发表于 2015-3-17 17:02:29 |只看该作者
huaxia 发表于 2015-3-17 16:56
你好,还是不行呢?能帮我看看吗?

html页面发上来,回复的高级模式可以上传文件

Rank: 1

9#
发表于 2015-3-17 17:30:00 |只看该作者
felt 发表于 2015-3-13 13:08
1 先获取表头数据

2 通过表头数据生成表头

datagrid1.setColumns([{ type: "indexcolumn" }, { field: "text", width: 120, header: "员工账号" }]);
我这样写死 是可以正常显示的
但是我用了动态的
var dyCols = "";
            dyCols = getDyCols(MenuId);
            datagrid1.setColumns(dyCols);
就不能正常显示了,请问这个是什么原因啊

Rank: 1

10#
发表于 2015-3-17 17:35:27 |只看该作者
felt 发表于 2015-3-17 17:02
html页面发上来,回复的高级模式可以上传文件

<div id="datagrid1" class="mini-datagrid" style="width:700px;height:280px;" url="javascript:GetTZListUrl();" >

    </div>



<script type="text/javascript">
        var MenuId = getQueryString('MenuId');
        var TabType = getQueryString('TabType');
        var TabName = getQueryString('TabName');
        mini.parse();

function tt()
        {
            var prjDBID = TZprjCombo.getValue();
            var dyCols = "";
            dyCols = getDyCols(MenuId);            
            if ((dyCols != null) && (dyCols != ""))
            {
                datagrid1.setColumns(dyCols);
                //mini.get("datagrid1").set({
                //    columns: dyCols
                //});
                datagrid1.url = decodeURI(GetTZListUrl());
                mini.get("datagrid1").load();
            }
        }
        function getDyCols(MenuId) {
            var msg = "";
            $.ajax({
                url: "DU.ashx?action=GetTZList_DynamicColumns_mini&MenuId=" + MenuId,
                async: false,
                success: function (text) {
                    msg = text;
                },
                error: function () {
                }
            });
            return msg;
        }function GetTZListUrl() {
            var TZListurl = "DU.ashx?action=GetTZList_mini&TabType=" + TabType + "&TabName=" + TabName;
           return TZListurl;
        }

</script>

Archiver|普加软件

GMT+8, 2025-7-16 04:03 , Processed in 1.022530 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部