jQuery MiniUI

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

Inline DetailGrid子表刷新问题 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2016-11-28 10:49:55 |只看该作者 |倒序浏览
请教老大,Inline DetailGrid.我用的是子表全部展开,
我在给子表中添加了数据后是不是只能全部刷新子表,就项下面代码中最后的刷新事件.是否能只刷新更新的那个类别下的子表?
如可以,能否指教一下如何实现

mini.parse();
var gridTT = mini.get("GridFLHZ");

gridTT.load();
function createGrid() {

            var detailgrid = new mini.DataGrid();
            var detailGrid_Form = document.createElement("div");
            detailgrid.set({
                url: "data_aspx/ajaxpklist.aspx?method=GetPKmx",
                width: "100%",
                height: "auto",
                showColumns: false,
                showPager: false,
                showEmptyText: true,
                emptyText: "本类别下没有数据",
                //emptyText:"数据为空,<a href='javascript:newRow()'>增加一条</a>",
                columns: [
                    //<div type="indexcolumn">序号</div>
                    { type: "indexcolumn", width: "40", align: "center" },
                    { field: "ItemNO", header: "型号", width: "220", align: "center" },
                    { field: "WLname", header: "名称", width: "220", align: "left" },
                    { field: "shuliang", header: "数量", width: "68", align: "center" },
                    { field: "danwei", header: "单位", width: "70", align: "center" },
                    { field: "zhuangxiangshu", header: "总箱数", width: "35", align: "center" },
                    { field: "zhuangxiangmiaoshu", header: "装箱数", width: "65", align: "center" },
                    { field: "MZdanxiang", header: "KG/箱", width: "60", align: "center" },
                    { field: "MZzong", header: "总KG", width: "60", align: "center" },
                    { field: "JZdanxiang", header: "KG/箱", width: "60", align: "center" },
                    { field: "JZzong", header: "总KG", width: "60", align: "center" },
                    { field: "JZzong", header: "备注", align: "center" },
                ]
            })
            detailGrid_Form.appendChild(detailgrid.getEl());
            var obj = {
                detailGrid_Form: detailGrid_Form,
                detailgrid: detailgrid
            }
            return obj;
        }
        function onShowRowDetail(e) {

            var gridT = e.sender;
            var row = e.record;
            var td = gridT.getRowDetailCellEl(row);
            if (td.childNodes.length != 0) return;

            var obj = createGrid();
            var gridDetail = obj.detailgrid;//获取子项表obj数据

            var detailGrid_Form = obj.detailGrid_Form;

            td.appendChild(detailGrid_Form);
            gridDetail.load({ id: row.id });

            $('#shuaxin').click(function () {
                gridDetail.reload();   //刷新子表
            });
        }


Rank: 8Rank: 8

沙发
发表于 2016-11-28 11:29:17 |只看该作者
你可以给每个子表格设置唯一的id,根据id获取表格来 刷新

Rank: 2

板凳
发表于 2016-11-28 12:08:55 |只看该作者
felt 发表于 2016-11-28 11:29
你可以给每个子表格设置唯一的id,根据id获取表格来 刷新

老大,指教一下如何给子表设置ID
我直接用把把tr的 ID 给 设置了 。没搞定

Rank: 8Rank: 8

地板
发表于 2016-11-28 14:06:21 |只看该作者
davis3747 发表于 2016-11-28 12:08
老大,指教一下如何给子表设置ID
我直接用把把tr的 ID 给 设置了 。没搞定  ...

var detailID=row._uid+"_detail"
var obj=createGrid(detailID)

function createGrid(id){
  ..
     detailgrid.set({
          id:id
     ..
     })
}

Rank: 2

5#
发表于 2016-11-28 19:41:31 |只看该作者
felt 发表于 2016-11-28 14:06
var detailID=row._uid+"_detail"
var obj=createGrid(detailID)

谢谢指点

Rank: 2

6#
发表于 2016-11-29 10:56:39 |只看该作者
felt 发表于 2016-11-28 14:06
var detailID=row._uid+"_detail"
var obj=createGrid(detailID)

老大,这个是直接给GRID设置ID了么?我直接用 reload
不起作用。

Rank: 8Rank: 8

7#
发表于 2016-11-29 11:15:36 |只看该作者
davis3747 发表于 2016-11-29 10:56
老大,这个是直接给GRID设置ID了么?我直接用 reload
不起作用。

根据id获取到子表格,再调用reload

Rank: 2

8#
发表于 2016-11-29 14:20:29 |只看该作者
dforce 发表于 2016-11-29 11:15
根据id获取到子表格,再调用reload

搞定了.忘记声明了

Archiver|普加软件

GMT+8, 2024-10-7 04:26 , Processed in 1.034796 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部