jQuery MiniUI

标题: Inline DetailGrid子表刷新问题 [打印本页]

作者: davis3747    时间: 2016-11-28 10:49:55     标题: Inline DetailGrid子表刷新问题

请教老大,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();   //刷新子表
            });
        }



作者: felt    时间: 2016-11-28 11:29:17

你可以给每个子表格设置唯一的id,根据id获取表格来 刷新
作者: davis3747    时间: 2016-11-28 12:08:55

felt 发表于 2016-11-28 11:29
你可以给每个子表格设置唯一的id,根据id获取表格来 刷新

老大,指教一下如何给子表设置ID
我直接用把把tr的 ID 给 设置了 。没搞定
作者: felt    时间: 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
     ..
     })
}
作者: davis3747    时间: 2016-11-28 19:41:31

felt 发表于 2016-11-28 14:06
var detailID=row._uid+"_detail"
var obj=createGrid(detailID)

谢谢指点
作者: davis3747    时间: 2016-11-29 10:56:39

felt 发表于 2016-11-28 14:06
var detailID=row._uid+"_detail"
var obj=createGrid(detailID)

老大,这个是直接给GRID设置ID了么?我直接用 reload
不起作用。
作者: dforce    时间: 2016-11-29 11:15:36

davis3747 发表于 2016-11-29 10:56
老大,这个是直接给GRID设置ID了么?我直接用 reload
不起作用。

根据id获取到子表格,再调用reload
作者: davis3747    时间: 2016-11-29 14:20:29

dforce 发表于 2016-11-29 11:15
根据id获取到子表格,再调用reload

搞定了.忘记声明了




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2