jQuery MiniUI

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

怎样用ButtonEdit做下拉框 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2013-5-28 15:17:24 |只看该作者 |倒序浏览
如题,请教下管理员,怎样用用ButtonEdit做类似combobox下拉表格的效果,因为demo中提供的combobox下拉框没有刷新、分页甚至是增加等等这些操作,所有有办法自定义吗?

Rank: 8Rank: 8

沙发
发表于 2013-5-28 15:30:40 |只看该作者
你看下lookup控件是否能满足你的需求
http://www.miniui.com/demo/#src=lookup/lookup.html

Rank: 2

板凳
发表于 2013-5-28 15:51:33 |只看该作者
felt 发表于 2013-5-28 15:30
你看下lookup控件是否能满足你的需求
http://www.miniui.com/demo/#src=lookup/lookup.html

非常感谢,应该够了。
顺便问下,下拉treegrid也可以吗?

Rank: 8Rank: 8

地板
发表于 2013-5-28 16:08:29 |只看该作者
huanghk 发表于 2013-5-28 15:51
非常感谢,应该够了。
顺便问下,下拉treegrid也可以吗?

可以的,把datagrid的代码替换成treegrid就可以了

另外提个建议,因为lookup是把下拉内容写死在一个页面上的,不仅页面代码比较多,而且也不利于 下拉页面 的重用。
所以建议用buttonedit,配合 mini.open(),用弹出的一个html页面的方式做,html页面里面可以放你的表格或者treegrid。这样这个页面可以在其他的地方被重复使用。

参考:http://www.miniui.com/demo/#src=buttonedit/selectGrid.html

当然,你如果确定需要lookup也是可以的

Rank: 2

5#
发表于 2013-5-28 16:22:53 |只看该作者
factory 发表于 2013-5-28 16:08
可以的,把datagrid的代码替换成treegrid就可以了

另外提个建议,因为lookup是把下拉内容写死在一个页面 ...

好的,感谢,可以重用就更好了

Rank: 2

6#
发表于 2013-5-28 17:01:27 |只看该作者
再问下,如果是lookup的话,text能不能是datagrid两个列的数据组合,比如
         A          B
1      甲省       甲市
2      甲省       乙市
选中第一条记录时lookup的text那里是显示甲省甲市      

Rank: 8Rank: 8

7#
发表于 2013-5-28 17:10:14 |只看该作者
huanghk 发表于 2013-5-28 17:01
再问下,如果是lookup的话,text能不能是datagrid两个列的数据组合,比如
         A          B
1      甲 ...

你一定要这样做的话,我建议你用mini.open来做

参考http://www.miniui.com/demo/#src=buttonedit/selectGrid.html
然后在mini.open的ondestroy: function (action) {}里面
也就是在关闭窗体,返回数据的时候,你把两列的数据放到一起,组成一个字符串
var a = "甲省甲市"
然后btnEdit.setText(data.a);
这样输入里面显示的就是2列的数据了

Rank: 2

8#
发表于 2013-5-28 17:18:12 |只看该作者
factory 发表于 2013-5-28 17:10
你一定要这样做的话,我建议你用mini.open来做

参考http://www.miniui.com/demo/#src=buttonedit/select ...

嗯,mini.open确实是一个很好的选择,不过有个地方可能满足不到需求。
比如:前提可以多选,然后有30条数据,第一页有我要的数据,第二页也有我要的数据,第三页也是,那我得第一页选完之后点确定,又打开,翻到第二页,再选,点确定,....但是如果写成行选中事件的话,又感觉怪怪的。不知道我说的对不对。

Rank: 8Rank: 8

9#
发表于 2013-5-28 17:25:53 |只看该作者
huanghk 发表于 2013-5-28 17:18
嗯,mini.open确实是一个很好的选择,不过有个地方可能满足不到需求。
比如:前提可以多选,然后有30条数 ...

这个,其实也好做的,做法有2种
1.你写个变量,把第一页选的放进去,翻到第二页,把第二页选的放进去,然后把这个变量返回回去就可以了
2.在父页面,也就是你的buttonedit的页面,写一个给buttonedit   setValue()和setText()的方法,比如叫setBtnValue(row){
       btnEdit.setValue(row.a);
       btnEdit.setText(row.b)
}
然后在你的弹出页面,也就是表格页,监听onrowclick事件 onrowclick="rowclick"
function rowclick(e){
    var row = e.record;
   window.Owner.setBtnValue(row)
}

这样就是说,子页面调用父页面的setBtnValue()方法,把选中的行给传递过去,并且执行setValue(),把点击的值都塞到buttonedit

Rank: 2

10#
发表于 2013-5-28 17:44:36 |只看该作者
factory 发表于 2013-5-28 17:25
这个,其实也好做的,做法有2种
1.你写个变量,把第一页选的放进去,翻到第二页,把第二页选的放进去,然 ...

谢谢!

Archiver|普加软件

GMT+8, 2024-11-27 02:37 , Processed in 1.072792 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部