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
所以我会
而不是:
我知道两种方法:
我的问题是,如果在记录显示中找不到值,是否有更简单的方法告诉网格列默认的
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;
}
}