jQuery MiniUI

标题: datagrid renderer [打印本页]

作者: kisscacner    时间: 2016-1-19 16:21:31     标题: datagrid renderer

我在动态添加columns的时候,给其中的一个column增加了renderer的方法,
但是这个renderer的方法在同一行执行了2次,

请教一下如何只让renderer方法只执行一次?

我看官网的Dynamic Columns中也发现了这个问题,renderer中的函数会执行2次,这个问题可以解决吗?

作者: felt    时间: 2016-1-19 16:36:22

会执行多次,每行都会触发
作者: kisscacner    时间: 2016-1-19 16:38:11

felt 发表于 2016-1-19 16:36
会执行多次,每行都会触发

我的意思是,我从后台获取到了10条数据,但是renderer的方法执行的次数是大于10次的(10的倍数),可能是20次,也可能是30次,等于说这每行的renderer方法都执行了1次以上。

有办法让每行的renderer方法只执行一次吗?
作者: felt    时间: 2016-1-19 16:45:08

kisscacner 发表于 2016-1-19 16:38
我的意思是,我从后台获取到了10条数据,但是renderer的方法执行的次数是大于10次的(10的倍数),可能是 ...

[attach]7056[/attach]
如图,未发现调用多次


作者: kisscacner    时间: 2016-1-19 16:51:04

felt 发表于 2016-1-19 16:45
如图,未发现调用多次

请问你是否只点击了一下“动态设置列”的按钮?

如果在点击一下,你会发现index+了20次,而不是第一下的10次。

请问如果多次动态生成列,要怎么处理呢?
作者: felt    时间: 2016-1-19 16:52:38

kisscacner 发表于 2016-1-19 16:51
请问你是否只点击了一下“动态设置列”的按钮?

如果在点击一下,你会发现index+了20次,而不是第一下的 ...

重新生成,1清除原有内容,2重新生成新内容,就是每行2次

作者: kisscacner    时间: 2016-1-19 17:09:32

felt 发表于 2016-1-19 16:52
重新生成,1清除原有内容,2重新生成新内容,就是每行2次

那是不是等于这个renderer方法中不能去update grid中的数据?比如我在renderer中写了如下代码:
if(e.value==null){
    e.row.field = -1;
    grid.updateRow(e.row);
}


但他执行了两次,也就是说可能最终渲染出来的结果不是我想要的,那么请教一下这个时候我update的方法应该写在哪个事件中?

作者: felt    时间: 2016-1-19 17:21:01

kisscacner 发表于 2016-1-19 17:09
那是不是等于这个renderer方法中不能去update grid中的数据?比如我在renderer中写了如下代码:
if(e.val ...

render肯定不能用update

作者: kisscacner    时间: 2016-1-19 17:32:01

felt 发表于 2016-1-19 17:21
render肯定不能用update

嗯,谢了~




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