基于dojo gridx中单元格值的样式单元格

Posted

技术标签:

【中文标题】基于dojo gridx中单元格值的样式单元格【英文标题】:style cell based on cell value in dojo gridx 【发布时间】:2015-03-05 08:58:02 【问题描述】:

我正在使用dojo gridx组件,我想根据单元格的值格式化每个单元格,我可以通过在定义布局结构时为每列编写格式化程序函数来为每个单元格设置样式,但是有可能吗编写可用于所有列的通用格式化函数

gridStructure: [

 "field": "americaGeoValue",
 "name": "Americas", 
 formatter: infoFormatter
,

 "field": "emeaGeoValue",
 "name": "EMEA",
 formatter: infoFormatter
,

 "field": "apGeoValue",
 "name": "AP",
 formatter: infoFormatter

]

这就是我为网格设置数据的方式

storedata<portlet:namespace/>.push(
                                
                                    "siteLabel": site.siteLabel,
                                    "siteCode": site.siteCode,
                                    "americaGeoValue": site.americaGeoValue,
                                    "emeaGeoValue": site.emeaGeoValue,
                                    "apGeoValue": site.apGeoValue
                                
                            );

格式化函数:

function infoFormatter(data) 
 console.log('formatter item'+JSON.stringify(data));

这是日志

"siteLabel":"test","siteCode":"test","americaGeoValue":"1","emeaGeoValue":"2","apGeoValue":"8"

那么,我如何编写一个通用格式化程序来检查值(americaGeoValue/emeaGeoValue/apGeoValue)并根据该值做一些事情。

【问题讨论】:

【参考方案1】:

如果您希望根据值设置单元格的样式,而不是“格式化程序”,请尝试“类”或“样式”,它们是接受单元格作为参数的函数,例如,


    "field": "emeaGeoValue",
    "name": "EMEA",
    "class": function(cell)
         if(cell.rawData()=='ABC')
             return 'customClsForCell';
         
     
   

【讨论】:

以上是关于基于dojo gridx中单元格值的样式单元格的主要内容,如果未能解决你的问题,请参考以下文章

如何让 cellWidgets 中的 dojo gridx dojo 小部件自动写入商店?

如何将 Dojo Data 网格单元格值重定向到另一个页面?

如何将小部件添加到 Dojo gridx/Grid 标题?

基于单元格值的子集矩阵

如何使用 Pandas 在 Python 中基于同一行中的另一个单元格设置单元格值

如何基于单个单元格值格式化整个列?