jQuery MiniUI

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

Grid的问题.Factory请进. [复制链接]

Rank: 6Rank: 6

跳转到指定楼层
楼主
发表于 2013-10-29 16:06:40 |只看该作者 |倒序浏览
我的Columns是通过JS的方式动态创建的...

其中有一个 Creator  创建者 这个列...sys_User中存的是ID   是int类型的编号

然后我在grid.Load("......");  读取 sys_User的数据

显示在页面上之后,当然也是 Creator 为 1.

但是我希望它显示的是 1 对应的admin  Creator=admin

而且这个列是不允许编辑的,只是做显示用..但是当我 grid.GetData();之后希望得到的是  Creator:'1'

这个如何实现?

Rank: 8Rank: 8

沙发
发表于 2013-10-29 16:13:18 |只看该作者
用ondrawcell来处理,
修改
if(e.field == "Creator" && e.value == "1"){
     e.cellHtml="admin"
}
cellHtml只负责单元格的文本显示内容,不会去修改你的数据值,所以你获取数据的时候,还是1

另外,ondrawcell的话,不要在ondrawcell去后台动态加载你的Creator 对应的文本,不然跟后台交互太多

Rank: 6Rank: 6

板凳
发表于 2013-10-29 16:14:56 |只看该作者
factory 发表于 2013-10-29 16:13
用ondrawcell来处理,
修改
if(e.field == "Creator" && e.value == "1"){

你这种方式是写死了 value==1

但是我后台获取过来的 Creator的值有多个..

Rank: 8Rank: 8

地板
发表于 2013-10-29 16:33:36 |只看该作者
nbakill2 发表于 2013-10-29 16:14
你这种方式是写死了 value==1

但是我后台获取过来的 Creator的值有多个..

你把数据转成下面这样的,这样做是效率最高的
var op = {
    "1":"admin",
    "2":"bbbb",
    "3":"cccc"
}

var value = e.value
e.cellHtml = op[value]

Rank: 6Rank: 6

5#
发表于 2013-10-29 16:45:38 |只看该作者
factory 发表于 2013-10-29 16:33
你把数据转成下面这样的,这样做是效率最高的
var op = {
    "1":"admin",

这个确实,我也觉得是这样比较好.

Archiver|普加软件

GMT+8, 2024-11-6 17:21 , Processed in 1.077849 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部