jQuery MiniUI

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

grid中用到mini-buttonedit [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2014-12-22 12:01:57 |只看该作者 |倒序浏览
grid中用到mini-buttonedit
第一列输入了数值,value跟text都放入值了
下列点中会显示上一列的东西,但是当鼠标失去焦点的时候显示的东西就没了
列2显示了列一的数值

当点列3的时候列2不显示了

,怎么让点列3的时候列2的数值还保存在那?

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

沙发
发表于 2014-12-22 12:05:14 |只看该作者
这列你设置了displyField了吗

Rank: 2

板凳
发表于 2014-12-22 13:35:10 |只看该作者
没有设置displayField

Rank: 2

地板
发表于 2014-12-22 14:09:19 |只看该作者
dforce 发表于 2014-12-22 12:05
这列你设置了displyField了吗

没有设置displayField,设置了数值就能自动带过去吗?

Rank: 2

5#
发表于 2014-12-22 14:37:36 |只看该作者
dforce 发表于 2014-12-22 12:05
这列你设置了displyField了吗

function beginedit(e){
                var field = e.field;
                        if (field =="dk"){
                                if(grid.getRow(0)!=dkdispllyfield){
                                        e.row.dk= grid.getRow(0).dk;
                                       
                                        e.row.dkdisplyfield= grid.getRow(0).dkdisplyfield;
                                        grid.updateRow(e.row, e.row);
                                }
                               
                        }
        }
设置displyField跟没设置displyField用上述代码,mini-buttonedit也是点击下显示上一行的数据,失去焦点后就什么都不显示了。

Rank: 8Rank: 8

6#
发表于 2014-12-22 15:41:51 |只看该作者
mfanworld 发表于 2014-12-22 14:37
function beginedit(e){
                var field = e.field;
                        if (field =="dk"){

请参考我们buttonedit编辑器的示例
http://www.miniui.com/demo/#src=datagrid/rowedit_openpage.html
<div field="manager" displayField="manager_name" name="manager"
dept_grid.updateRow(row, {
                            manager: data.id,
                            manager_name: data.name
                        });
这些有弹出的编辑器都有field和displayField
field对应值,displayField对应显示

Rank: 2

7#
发表于 2014-12-22 17:15:43 |只看该作者
dforce 发表于 2014-12-22 15:41
请参考我们buttonedit编辑器的示例
http://www.miniui.com/demo/#src=datagrid/rowedit_openpage.html
  ...

<div id="grid" class="mini-datagrid" style="width:100%;height:100%;"  allowCellEdit="true" allowCellSelect="true"  oncellbeginedit="beginedit">
                <div field="dh" width="80" headerAlign="center">
                         <input id="fromLocId" property="editor" name="dh" displyField="dhfild"    class="mini-buttonedit" allowInput="false" onbuttonclick="onButtonEdit" />
                 </div>
</div>

function beginedit(e){
       var field = e.field;
                        if (field =="dh"){
                                if(grid.getRow(0)!=undefined){
                                       
                                        grid.updateRow(e.row, {
                                                dh: grid.getRow(0).dh,
                                                dhfild: grid.getRow(0).dhfild
           });
                                }
                               
                        }
    }
        
       function onButtonEdit(e) {
            var btnEdit = this;

            mini.open({
                url: "url",
                showMaxButton: false,
                title: "请选择",
                width: 510,
                height: 385,
                ondestroy: function (action) {
                    if (action == "ok") {
                        var iframe = this.getIFrameEl();
                        var data = iframe.contentWindow.GetData();
                        data = mini.clone(data);
                        
                        if (data) {
                            btnEdit.setValue(data.dh);
                            btnEdit.setText(data.dh);
                            var row = grid.getSelected();
                            row.dhfild=data.dh;
                            grid.updateRow(row,row);
                        }
                        
                     }else{
                        
                        btnEdit.setValue(null);
                        btnEdit.setText(null);
                          }
                     }
                });
         }
编辑时候触发beginedit,鼠标移出mini-buttonedit后第二行也没有自动赋值(期望第二行不用选择,失去焦点的时候第二行跟第一行显示的值是一样的,第一行的值是手动选择的)

Rank: 8Rank: 8

8#
发表于 2014-12-22 17:35:00 |只看该作者
mfanworld 发表于 2014-12-22 17:15
function beginedit(e){
       var field = e.field;
                        if (field =="dh"){

加列上,不是编辑器上

Rank: 2

9#
发表于 2014-12-23 08:24:40 |只看该作者
dforce 发表于 2014-12-22 17:35
加列上,不是编辑器上

<div id="grid" class="mini-datagrid" style="width:100%;height:100%;"  allowCellEdit="true" allowCellSelect="true"  oncellbeginedit="beginedit">
                <div field="dh" width="80" headerAlign="center" id="dh" displyField="dhfild"  name="dh" >
                         <input  property="editor"    class="mini-buttonedit" allowInput="false" onbuttonclick="onButtonEdit" />
                 </div>
</div>

function beginedit(e){
       var field = e.field;
                        if (field =="dh"){
                                if(grid.getRow(0)!=undefined){
                                       
                                        grid.updateRow(e.row, {
                                                dh: grid.getRow(0).dh,
                                                dhfild: grid.getRow(0).dhfild
           });
                                }
                                
                        }
    }
        
       function onButtonEdit(e) {
            var btnEdit = this;

            mini.open({
                url: "url",
                showMaxButton: false,
                title: "请选择",
                width: 510,
                height: 385,
                ondestroy: function (action) {
                    if (action == "ok") {
                        var iframe = this.getIFrameEl();
                        var data = iframe.contentWindow.GetData();
                        data = mini.clone(data);
                        
                        if (data) {
                            btnEdit.setValue(data.dh);
                            btnEdit.setText(data.dh);
                            var row = grid.getSelected();
                            row.dhfild=data.dh;
                            grid.updateRow(row,row);
                        }
                        
                     }else{
                        
                        btnEdit.setValue(null);
                        btnEdit.setText(null);
                          }
                     }
                });
         }
displyField加到行上了,但是第二行不用选择,失去焦点的时候第二行跟第一行显示的值是一样的,第一行的值是手动选择的,这个功能不知道为什么还是不行..

Rank: 8Rank: 8

10#
发表于 2014-12-23 09:26:27 |只看该作者
mfanworld 发表于 2014-12-23 08:24
function beginedit(e){
       var  ...

你不是自己在oncellbeginedit里面自己更新的和第一行一样?

Archiver|普加软件

GMT+8, 2024-9-29 17:28 , Processed in 1.050752 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部