jQuery MiniUI

标题: Inline grid的问题 [打印本页]

作者: lvdiquan    时间: 2013-10-30 10:18:29     标题: Inline grid的问题

http://www.miniui.com/demo/#src=datagrid/inline_detailgrid.html
该例子中JS获取 var detailGrid_Form = document.getElementById("detailGrid_Form");


为什么一定要定义成全局变量!!如何不定义成全局变量,每次刷新Grid以后,明细就展开不了,请问是什么原因!

急。。。急。。。急。。。

作者: factory    时间: 2013-10-30 10:21:41

所有的行的明细表单就只有一个啊,只不过填充不同行的不同数据而已.
如果不定义成全局,你打算放哪里定义?

http://www.miniui.com/demo/#src=datagrid/inline_detailform.html

点击分页栏上的刷新按钮,看每次是不是都能成功展开
作者: lvdiquan    时间: 2013-10-30 10:32:52

factory 发表于 2013-10-30 10:21
所有的行的明细表单就只有一个啊,只不过填充不同行的不同数据而已.
如果不定义成全局,你打算放哪里定义?

把var editForm = document.getElementById("editForm1");        定义放到下面的函数中
function onShowRowDetail(e) {
            var row = e.record;
            
            //将editForm元素,加入行详细单元格内
            var td = grid.getRowDetailCellEl(row);
            var editForm = document.getElementById("editForm1");
            td.appendChild(editForm);
            editForm.style.display = "";

            //表单加载员工信息
            var form = new mini.Form("editForm1");
            if (grid.isNewRow(row)) {               
                form.reset();
            } else {
                grid.loading();
                $.ajax({
                    url: "../data/AjaxService.aspx?method=GetEmployee&id=" + row.id,
                    success: function (text) {
                        var o = mini.decode(text);
                        form.setData(o);                        

                        grid.unmask();
                    }
                });
            }
        }


这样刷新之后,明细就打不开,调试的时候,获取不到editForm 了!!!
作者: factory    时间: 2013-10-30 10:54:13

lvdiquan 发表于 2013-10-30 10:32
把var editForm = document.getElementById("editForm1");        定义放到下面的函数中
function onShow ...

因为一开始页面上的这个form是在表格外面的,你的获取是正常的
然后当展开之后,form被appendChild到表格内部去了,这时候刷新操作是把表格内部全部删除掉的,也就这个form也被删除了,所以当你再次执行展开的时候,当然出现获取不到的问题

但是如果是全局变量的话,你获取一次之后,这个变量是一只存在的,不会因为你的form被删除而不见了
作者: lvdiquan    时间: 2013-10-30 11:00:04

factory 发表于 2013-10-30 10:54
因为一开始页面上的这个form是在表格外面的,你的获取是正常的
然后当展开之后,form被appendChild到表格内 ...

我想问一下,不定义成全局变量,还有没有办法,在够刷新之后,也能展开明细按钮??
作者: factory    时间: 2013-10-30 11:17:37

lvdiquan 发表于 2013-10-30 11:00
我想问一下,不定义成全局变量,还有没有办法,在够刷新之后,也能展开明细按钮?? ...

不能,你都把form append到表格内了,刷新就删掉了,重新获取,当然无法获取到了
作者: lvdiquan    时间: 2013-10-30 11:30:44

factory 发表于 2013-10-30 11:17
不能,你都把form append到表格内了,刷新就删掉了,重新获取,当然无法获取到了 ...

那我觉得这个要改进一下才好!不然当多个选项卡都用的时候,定义成全局变量就有问题了!
作者: factory    时间: 2013-10-30 13:26:58

lvdiquan 发表于 2013-10-30 11:30
那我觉得这个要改进一下才好!不然当多个选项卡都用的时候,定义成全局变量就有问题了! ...

目前只能支持同时展开一个明细




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