FineUI 官方论坛

标题: Grid控件按照example中写的改变行的颜色,如果再排序的话颜色 [打印本页]

作者: fuming    时间: 2012-2-22 09:15
标题: Grid控件按照example中写的改变行的颜色,如果再排序的话颜色
纠结啊

作者: 30372245    时间: 2012-2-26 21:34
排序后重新绑定的,应该没有问题啊
作者: dennis    时间: 2012-2-27 21:29
本帖最后由 dennis 于 2012-2-27 21:52 编辑

我是这样解决的:
1.PageManager添加ExecuteOnReadyWhenPostBack,使之每次都调用OnReady
<extageManager ID="ageManager1" runat="server" ExecuteOnReadyWhenPostBack="true" />
2.将改背景色的处理封装成一个函数function SetRowBackGround(),就不贴代码了
3.在OnReady中:
var gdListClient=null;
function onReady() {
if (gdListClient == null) {
  gdListClient = Ext.getCmp('<%= gdList.ClientID %>');
  if (gdListClient == null) return;
  gdListClient.addListener('viewready', SetRowBackGround);
} else {
  SetRowBackGround();
}
}

通过全局变量gdListClient可知道是否第一次执行,如果是,则绑定viewready,如果不是,则直接调用。

-----------
但这样处理,如果本页有许多后台的回发处理,则会有性能上的损失。因为每次回发返回后都会调用onReady了。

我也不明白为什么在重新绑定后,不能触发viewready事件

作者: 30372245    时间: 2012-2-28 16:08
赞,处理方式很妙。

至于为啥不能触发viewready事件,还要研究下...




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4