EXTJS GridPanel和列数据默认值

EXTJS GridPanel和列数据默认值,extjs,extjs3,Extjs,Extjs3,我有一个gridpanel,其中包含以下字段: Name ID Address Home_Phone Cell 返回存储区的某些记录可能没有这些字段的任何数据,而在网格中显示该记录的空列。我想显示默认值N/a 所以我会 而不是: 我知道两种方法: 在后端,如果字段不存在,则在JSON中为该列返回“N/a” 使用检查记录是否不包含返回值“N/a”的方法创建模板 我的问题是,如果在记录显示中找不到值,是否有更简单的方法告诉网格列默认的N/A?您可以为列添加渲染器。您可以为每个列添加渲染器,或者如果

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

Name ID Address Home_Phone Cell
返回存储区的某些记录可能没有这些字段的任何数据,而在网格中显示该记录的空列。我想显示默认值
N/a

所以我会

而不是:

我知道两种方法:

  • 在后端,如果字段不存在,则在JSON中为该列返回“N/a”
  • 使用检查记录是否不包含返回值“N/a”的方法创建模板

  • 我的问题是,如果在记录显示中找不到值,是否有更简单的方法告诉网格列默认的
    N/A

    您可以为列添加渲染器。您可以为每个列添加渲染器,或者如果有更多具有此行为的列,则可以定义自己的列

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

    或者将渲染器添加到扩展列的组件,并在整个应用程序中使用该组件。 在前端执行此操作比修改后端和发送额外的不必要数据(如“N\A”)更容易


    希望能有所帮助。

    在您的情况下,您错过了右大括号“)”:
    如果(Ext.isEmpty(value){
    。您也应该以这种方式避开斜杠:
    'N\\A'
    编辑这个4年前的答案而不是这个注释会更有用吗?您的答案被认为是最好的答案-因此将它引导到适当的形式。(如果我犯了这样的错误,我完全预料到这样的回答会受到“其他人”的谴责——我也遇到过这样的情况).不喜欢否决票?!我也是。stackoverflow真的鼓励你编辑答案并改进它们,而不仅仅是抱怨一些代码错误。顺便说一句,这可能是最好的答案,因为人们需要的是想法,而不是确切的代码!我不在乎否决票(即使这意味着答案没有用处),我会更感激收到你的答案被编辑的通知。我会更感激。我编辑了你的帖子(但没有任何向上投票)。(有人真的关心你的向下投票,因为作为对你向下投票的回应,我也被向下投票了。我还以为是你)
    Name     ID   Address      Home_Phone    Cell
    Shaun    2    My Address     N/A          N/A
    
    Name     ID   Address      Home_Phone    Cell
    Shaun    2    My Address   
    
    {
        renderer: function(value){
            if (Ext.isEmpty(value)) {
                return 'N\\A';
            }
            return value;
        }
    }