jQuery MiniUI

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

Inline grid的问题 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2013-10-30 10:18:29 |只看该作者 |倒序浏览
http://www.miniui.com/demo/#src=datagrid/inline_detailgrid.html
该例子中JS获取 var detailGrid_Form = document.getElementById("detailGrid_Form");


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

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

Rank: 8Rank: 8

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

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

点击分页栏上的刷新按钮,看每次是不是都能成功展开

Rank: 3Rank: 3

板凳
发表于 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 了!!!

Rank: 8Rank: 8

地板
发表于 2013-10-30 10:54:13 |只看该作者
lvdiquan 发表于 2013-10-30 10:32
把var editForm = document.getElementById("editForm1");        定义放到下面的函数中
function onShow ...

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

但是如果是全局变量的话,你获取一次之后,这个变量是一只存在的,不会因为你的form被删除而不见了

Rank: 3Rank: 3

5#
发表于 2013-10-30 11:00:04 |只看该作者
factory 发表于 2013-10-30 10:54
因为一开始页面上的这个form是在表格外面的,你的获取是正常的
然后当展开之后,form被appendChild到表格内 ...

我想问一下,不定义成全局变量,还有没有办法,在够刷新之后,也能展开明细按钮??

Rank: 8Rank: 8

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

不能,你都把form append到表格内了,刷新就删掉了,重新获取,当然无法获取到了

Rank: 3Rank: 3

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

那我觉得这个要改进一下才好!不然当多个选项卡都用的时候,定义成全局变量就有问题了!

Rank: 8Rank: 8

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

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

Archiver|普加软件

GMT+8, 2024-11-6 11:22 , Processed in 1.040351 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部