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

时间:2015-03-05 08:58:03

标签: dojo.gridx

我正在使用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 个答案:

答案 0 :(得分:0)

如果您希望根据价值设置单元格的样式,而不是格式化程序,请尝试“类”&#39;或者&#39; style&#39;这是接受单元格作为参数的函数,如

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