EXTJS GridPanel和列数据默认值

时间:2012-03-27 15:42:25

标签: extjs extjs3

我有一个gridpanel,其中包含以下字段:

Name ID Address Home_Phone Cell

某些返回商店的记录可能没有其中某些字段的任何数据,而是在网格中显示该记录的空列我希望显示默认值N/A

  

所以我会

Name     ID   Address      Home_Phone    Cell
Shaun    2    My Address     N/A          N/A
  

而不是:

Name     ID   Address      Home_Phone    Cell
Shaun    2    My Address   

我知道有两种方法可以做到这一点:

  1. 如果该字段不存在,则在后端在JSON中为该列返回“N / A”。
  2. 使用检查记录是否包含值“N / A”的方法创建模板。
  3. 我的问题是,如果在记录显示中没有找到值,则有一种更简单的方法告诉grid列默认N/A吗?

1 个答案:

答案 0 :(得分:5)

您可以为列添加渲染器。您可以为每列添加渲染器,也可以在有更多具有此行为的列时定义自己的列。

//为每个列配置添加此项(适用于空值和空字符串)

{
    renderer: function(value){
        if (Ext.isEmpty(value)) {
            return 'N\\A';
        }
        return value;
    }
}

或将渲染器添加到扩展列的组件中,并在整个应用程序中使用该渲染器。 在前端更容易做到这一点,而不是修改后端并发送额外的不必要的数据,如'N \ A'。

希望它有所帮助。