0

我正在使用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)并根据该值做一些事情。

4

1 回答 1

0

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

{
    "field": "emeaGeoValue",
    "name": "EMEA",
    "class": function(cell){
         if(cell.rawData()=='ABC'){
             return 'customClsForCell';
         }
     }
   }
于 2015-05-27T20:04:31.423 回答