jQuery MiniUI

标题: Grid的问题.Factory请进. [打印本页]

作者: nbakill2    时间: 2013-10-29 16:06:40     标题: Grid的问题.Factory请进.

我的Columns是通过JS的方式动态创建的...

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

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

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

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

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

这个如何实现?

作者: factory    时间: 2013-10-29 16:13:18

用ondrawcell来处理,
修改
if(e.field == "Creator" && e.value == "1"){
     e.cellHtml="admin"
}
cellHtml只负责单元格的文本显示内容,不会去修改你的数据值,所以你获取数据的时候,还是1

另外,ondrawcell的话,不要在ondrawcell去后台动态加载你的Creator 对应的文本,不然跟后台交互太多
作者: nbakill2    时间: 2013-10-29 16:14:56

factory 发表于 2013-10-29 16:13
用ondrawcell来处理,
修改
if(e.field == "Creator" && e.value == "1"){

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

但是我后台获取过来的 Creator的值有多个..
作者: factory    时间: 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]
作者: nbakill2    时间: 2013-10-29 16:45:38

factory 发表于 2013-10-29 16:33
你把数据转成下面这样的,这样做是效率最高的
var op = {
    "1":"admin",

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




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