EXTJS GridPanel 和 Column Data 默认值
Posted
技术标签:
【中文标题】EXTJS GridPanel 和 Column Data 默认值【英文标题】:EXTJS GridPanel and Column Data defaults 【发布时间】:2012-03-27 15:42:24 【问题描述】:我有一个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
我知道有两种方法可以做到这一点:
-
在后端,如果该字段不存在,则在 JSON 中为该列返回“N/A”。
使用检查记录是否不包含返回值“N/A”的方法创建模板。
我的问题是,如果在记录中找不到值,是否有更简单的方法告诉grid
列显示默认的N/A
?
【问题讨论】:
【参考方案1】:您可以为列添加渲染器。您可以为每列添加一个渲染器,或者如果您有更多具有此行为的列,则可以定义自己的列。
//为每列配置添加这个(适用于空值和空字符串)
renderer: function(value)
if (Ext.isEmpty(value))
return 'N\\A';
return value;
或将渲染器添加到扩展列的组件并在整个应用程序中使用它。 在前端这样做更容易,而不是修改后端并发送额外的不必要的数据,如“N\A”。
希望对你有帮助。
【讨论】:
你在你的情况下错过了右括号')':if (Ext.isEmpty(value)
。你也应该以这种方式转义斜线:'N\\A'
编辑这个 4 年前的答案而不是这个评论不是更有用吗?
您的答案已被接受为最佳答案 - 因此请将其转换为适当的形式。 (如果我犯了这样的错误,我完全预料到这样的答案会被“其他人”训斥——我也遇到过这样的情况)。不喜欢投反对票?!我也是。
确实鼓励您在 *** 上编辑答案并改进它们,而不仅仅是抱怨一些代码错误。顺便说一句,这可能是最好的答案,因为人们需要的是想法而不是确切的代码!我不在乎投反对票(即使这意味着答案没有用),如果收到您的答案已被编辑的通知,我会更加感激。会很感激的。
我已经编辑了你的帖子(但没有任何赞成)。(有人真的很关心你的反对,以回应你的反对我也被反对了。我以为是你)以上是关于EXTJS GridPanel 和 Column Data 默认值的主要内容,如果未能解决你的问题,请参考以下文章
在 Extjs 中删除 GridPanel 的 headertoolbar
extjs gridpanel:当 GridPanel 窗口再次显示时,ColumnModel 变为空