首页 新闻 会员 周边

ext grid 的一个根据前一项 后一项相应的值发生改变咋写?

0
[已解决问题] 解决于 2010-07-06 10:15

我有个grid需要显示

 

id    评论主题    评论人    是否匿名   时间

 

评论人项根据是否匿名 显示匿名或者评论人名字

 

如果匿名,评论人项显示匿名,

否则显示评论人名称.

 

这个肯定是渲染前就要处理,

但是怎么处理,求高手指点.

1 var cm = new Ext.grid.ColumnModel([sm,
2 { header: "状态", dataIndex: "IsRead", width: 30, tooltip: "已读/未读", sortable: true, renderer: formatIsRead },
3 { header: "评论主题", dataIndex: "EvaTitle", tooltip: "评论主题", sortable: true },
4 { header: "评论人", dataIndex: "SelfUserName", tooltip: "用户名/英文名", sortable: true, renderer: formatSelfUserName },
5 { header: "评论状态", dataIndex: "PostLev", tooltip: "评论状态", sortable: true, renderer: formatPostLev },
6 { header: "评论时间", dataIndex: "PostTime", tooltip: "评论时间", sortable: true}]);
想过在评论人那栏header加一个handler事件,

但是我只获得到selfusername,无法获取postlev.

那就不好判断.

再想在评论状态增加handler

根据postlev改变评论人,但是不会.

高手指点,刚接触extjs三天,呵呵...

问题补充: 高手来瞧瞧吧.郁闷了.
graymaster的主页 graymaster | 初学一级 | 园豆:7
提问于:2010-06-27 09:48
< >
分享
最佳答案
0

如果我理解的没错,你可以这样实现的,在你的renderer函数里处理:

代码
// 单元格显示格式化--评论人
function formatSelfUserName(data, cell, record, rowIndex, columnIndex, store) {
// data是从store里读出来的当前单元格的值
// 若不作处理的话 直接显示其原生态值

var SelfUserName; // 定义要显示在表格上的评论人值 (处理后)
 
    // 得到当前行记录里评论状态的值       
    // 另外 整个Grid的store都在这了 是可以取任一行任一列的值的
    var PostLev = record.data.PostLev;
 

if (PostLev == "")
SelfUserName
= "匿名";
else
SelfUserName
= data;


// 其它处理 (颜色、字体等设置)
// ... ...

return SelfUserName;
}

那个“评论状态”列是那个“是否匿名”列吧?

哈欠懒农 | 菜鸟二级 |园豆:455 | 2010-06-28 10:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册