jQuery MiniUI

标题: datagrid 中不能放 radio么? [打印本页]

作者: wslfriend    时间: 2013-11-19 15:05:27     标题: datagrid 中不能放 radio么?

这个和 第一列 的选择无关

我这里有这样的需求,就是grid中 需要指定某一行为主,用checkbox 不太合适,能否使用 radio 来选择?

作者: factory    时间: 2013-11-19 15:18:07

type="radiobuttoncolumn"试试
作者: wslfriend    时间: 2013-11-19 15:33:22

factory 发表于 2013-11-19 15:18
type="radiobuttoncolumn"试试

不行,MINI.JS 直接报错
提示“对象不支持 isEditorRowing"
作者: felt    时间: 2013-11-19 16:41:22

测试过是可以的,你更新下最新的MiniUI吧。
作者: wslfriend    时间: 2013-11-25 10:29:02

felt 发表于 2013-11-19 16:41
测试过是可以的,你更新下最新的MiniUI吧。

[attach]3271[/attach]

  <div type="radiobuttoncolumn" field="IdentityField" width="120" headerAlign="center" >标识列</div>

作者: felt    时间: 2013-11-25 10:54:21

wslfriend 发表于 2013-11-25 10:29
标识列

表格加一下allowcelledit="true"
http://www.miniui.com/demo/#src=datagrid/editable.html
你可以把我们这个checkboxcolumn改成radiobuttoncolumn试试
作者: wslfriend    时间: 2013-11-25 13:52:09

felt 发表于 2013-11-25 10:54
表格加一下allowcelledit="true"
http://www.miniui.com/demo/#src=datagrid/editable.html
你可以把我们 ...

[attach]3276[/attach]

<div property="columns">
                <div type="checkcolumn"  field="chkSelect" ></div>
                <div field="ShowRow"  width="50" headerAlign="center" dataType="int" >序号</div>   
                <div field="FieldName" width="70" headerAlign="center" >名称</div>
                <div field="FieldType" width="50" headerAlign="center" >类型</div>
                <div type="radiobuttoncolumn" field="IdentityField" width="50" headerAlign="center" allowcelledit="true" >标识列</div>

                <div field="Description" width="70" headerAlign="center" >简述</div>               
  </div>


我只想 第一列是多选,最后列是单选,

作者: wslfriend    时间: 2013-11-25 13:58:37

[attach]3278[/attach]


设置了参数后,  样子没错了。

但选择了“婚否”,会导致   checkbox  的钩被清除。

貌似这两列有联动关系

---------------------------------------------
说一下我的使用场景:
一个列表框中,列出Table 中所有字段

1.  需要从中选择多行 ,定义为主键字段,  一个表可以有多列字段确定为主键。

2. 需要选中一行,作为唯一标识列,  一个表只能有一行作为唯一标识。

呵呵,所以  checkbox  和 radiobutton  我都需要


作者: felt    时间: 2013-11-25 14:53:26

你展示checkbox那一列用checkboxclomn试试。

作者: wslfriend    时间: 2013-11-25 16:07:30

felt 发表于 2013-11-25 14:53
你展示checkbox那一列用checkboxclomn试试。

不行, 改了后,一个checkbox 都看不到。

另外,发现个事, multiSelect="true/false"  对  checkbox 和 radiio  影响很大。

radio  动辄就无法选中。
作者: wslfriend    时间: 2013-11-25 16:10:34

wslfriend 发表于 2013-11-25 16:07
不行, 改了后,一个checkbox 都看不到。

另外,发现个事, multiSelect="true/false"  对  checkbox 和 ...

好像是行了。。。
FELT,
是 checkboxcolumn   

不是  checkboxclomn,  晕啊。。。。

我再测试下先
作者: wslfriend    时间: 2013-11-25 16:14:21

wslfriend 发表于 2013-11-25 16:10
好像是行了。。。
FELT,
是 checkboxcolumn   

[attach]3284[/attach]

显示和选择都正确了。。。

但是,打钩项和联动关系,貌似不对, 4个钩都没显示出来。。。

貌似 “标识列” 作为 显示项了。。。。

作者: factory    时间: 2013-11-25 16:25:37

wslfriend 发表于 2013-11-25 16:14
显示和选择都正确了。。。

但是,打钩项和联动关系,貌似不对, 4个钩都没显示出来。。。

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

多选的话看下这个例子
作者: factory    时间: 2013-11-25 16:34:16

wslfriend 发表于 2013-11-25 16:14
显示和选择都正确了。。。

但是,打钩项和联动关系,貌似不对, 4个钩都没显示出来。。。

不要用lookup做.用buttonedit + mini.open来做
http://www.miniui.com/demo/#src=datagrid/rowedit_openwindow.html

参考这个

在返回给表格数据的时候,自己做下处理
如果你是要返回checkboxcolumn选中的值的话,需要遍历下,把checkboxcolumn的值为trueValue的获取出来
因为他不是checkcolumn,所以无法通过表格的getSelecteds()来直接获取,需要你自己遍历通过判断值
获取完了,再返回给表格,通过updateRow(row,{field,value})来更新单元格的值
作者: wslfriend    时间: 2013-11-25 16:45:43

factory 发表于 2013-11-25 16:34
不要用lookup做.用buttonedit + mini.open来做
http://www.miniui.com/demo/#src=datagrid/rowedit_openw ...

mini.open  的话早就实现了,但就是体验效果不佳,做了这么多努力,还是回到老路真不甘心。。。

我刚才尝试了 cellclick 事件中,手工计算 返回 的 field2,field1,field3  字符串,但值会被系统冲掉。。。。

算法移到  CommitEdit 中,也会被冲掉。。。。


作者: wslfriend    时间: 2013-11-25 16:46:34

wslfriend 发表于 2013-11-25 16:45
mini.open  的话早就实现了,但就是体验效果不佳,做了这么多努力,还是回到老路真不甘心。。。

我刚才 ...

其实
override 下系统行为

或者 定义个回调函数就行了
作者: factory    时间: 2013-11-25 16:51:07

wslfriend 发表于 2013-11-25 16:46
其实
override 下系统行为

因为lookup是根据你选中来赋值的,而checkboxcolumn他不算是选中,所以无效
作者: wslfriend    时间: 2013-11-25 16:54:25

本帖最后由 wslfriend 于 2013-11-25 16:59 编辑
factory 发表于 2013-11-25 16:51
因为lookup是根据你选中来赋值的,而checkboxcolumn他不算是选中,所以无效



我的意思,就是能否 覆盖  lookup 的赋值行为?

一个强大的自定义系统,按理应该到处都允许覆盖的?

如果允许覆盖一些功能,平台方和使用方都会轻松许多。。。


可能我是看人挑但不吃力。。。。。 呵呵,拿C#/JAVA 的理念来要求前台UI系统了。。。



作者: factory    时间: 2013-11-25 17:08:13

wslfriend 发表于 2013-11-25 16:54
我的意思,就是能否 覆盖  lookup 的赋值行为?

一个强大的自定义系统,按理应该到处都允许覆盖的?

目前没有接口可以通过其他字段的值来给lookup赋值,暂时只能是默认的勾选.

目前的话,我建议还是用mini.open的方式来做吧
作者: wslfriend    时间: 2013-11-25 17:28:04

factory 发表于 2013-11-25 17:08
目前没有接口可以通过其他字段的值来给lookup赋值,暂时只能是默认的勾选.

目前的话,我建议还是用mini.op ...

呵呵,

谢谢斑竹了
作者: Arrayxiaosi    时间: 2013-11-26 09:18:33

这个你可以在后台控制的你给map放值得时候就是“<input type='radio'”>在前台就可以出来的




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