jQuery MiniUI

标题: datagrid中combobox问题 [打印本页]

作者: jifeng    时间: 2013-5-22 09:03:46     标题: datagrid中combobox问题

我建了个datagrid,比如[img=0,1]file:///C:\Documents and Settings\Administrator\Application Data\Tencent\Users\408995448\QQ\WinTemp\RichOle\YW3_I[AJI4G28S)LPJ90~_3.jpg[/img][attach]1973[/attach]比如员工账号为combobox类型,我想选择combobox中A的时候,此时性别这一列会显示一个按钮,按钮名为A,可以点击。这样的操作怎么弄啊?

[img]file:///C:\Documents and Settings\Administrator\Application Data\Tencent\Users\408995448\QQ\WinTemp\RichOle\YW3_I[AJI4G28S)LPJ90~_3.jpg[/img]



作者: factory    时间: 2013-5-22 09:37:42

<div field="gender" renderer="tobutton">性别

function tobutton(e) {
            if (e.value == "A") {
                var html = '<input type="button" value="确定"/>'
                return html;
            }
        }
作者: jifeng    时间: 2013-5-22 10:08:35

factory 发表于 2013-5-22 09:37
性别

function tobutton(e) {

请问下renderer都是在什么地方用到啊
作者: factory    时间: 2013-5-22 10:17:51

jifeng 发表于 2013-5-22 10:08
请问下renderer都是在什么地方用到啊

列上,在你需要修改单元格显示内容的那一列上

如果你需要做多列多种效果的话,可以直接监听ondrawcell事件,如果只是一列的话,可以使用列的renderere

参考demo:http://www.miniui.com/demo/#src=datagrid/drawcell.html
作者: jifeng    时间: 2013-5-22 10:54:05

factory 发表于 2013-5-22 10:17
列上,在你需要修改单元格显示内容的那一列上

如果你需要做多列多种效果的话,可以直接监听ondrawcell事 ...

renderer="tobutton"这个是不是应该放在员工账号这一列的DIV内啊,他不是监听员工账号这一列的值变化吧
作者: factory    时间: 2013-5-22 10:59:32

jifeng 发表于 2013-5-22 10:54
renderer="tobutton"这个是不是应该放在员工账号这一列的DIV内啊,他不是监听员工账号这一列的值变化吧 ...

写在列的div上门,我上面代码不是已经给出了吗?<div field="gender" renderer="tobutton">性别 他会进行对单元格的一个渲染
作者: jifeng    时间: 2013-5-22 11:08:05

本帖最后由 jifeng 于 2013-5-22 11:12 编辑
factory 发表于 2013-5-22 10:59
写在列的div上门,我上面代码不是已经给出了吗?性别 他会进行对单元格的一个渲染 ...

我的意思是e.value == "A"这个是监听的第一列的值,是不是吧renderer写在第一列的div上?如果放在性别这一列,应该监听的是性别这一列的值把?是这样吗》?
<div field="gender" renderer="tobutton">性别
这是监听的性别的值把?
如果这样写 <div  field="loginname" renderer="tobutton">员工账号,我觉得这样e.value == "A"才能监听这一列的值吧?

作者: factory    时间: 2013-5-22 11:15:44

jifeng 发表于 2013-5-22 11:08
我的意思是e.value == "A"这个是监听的第一列的值,是不是吧renderer写在第一列的div上?如果放在性别这一 ...

你放到哪里一列上,就是最这一列的所有单元格进行一个渲染

e.value == "A" 就是单元格的值

如果为A,就改成button
作者: jifeng    时间: 2013-5-22 11:37:03

本帖最后由 jifeng 于 2013-5-22 12:33 编辑
factory 发表于 2013-5-22 11:15
你放到哪里一列上,就是最这一列的所有单元格进行一个渲染

e.value == "A" 就是单元格的值

e.value == "A" 是不是监听一行的所有单元格的值,只要一行有为A的就会执行渲染,e.value == "A"不能监听某一列的值吗?比如表格中,员工账号->A,住址-->A,性别进行渲染,假如员工账号为B,住址为A,那我不让他渲染呢?就是说我只监听员工账号的值,不对其他列监听,应该怎么弄?
作者: factory    时间: 2013-5-22 13:13:59

本帖最后由 factory 于 2013-5-22 13:15 编辑
jifeng 发表于 2013-5-22 11:37
e.value == "A" 是不是监听一行的所有单元格的值,只要一行有为A的就会执行渲染,e.value == "A"不能监听 ...

var record= e.record   //当前单元格所处的整行的数据

if(record.name == "A" && record.address == "A"){
       e.cellHtml =....
}

这样试试





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