在之前的文章中,我们介绍了itemFormatter的用法,实现了自定义Editor以及InlineEdit。
本文就在之前的基础上,介绍如何使用itemFormatter来实现格式化单元格。
对于flexgrid,当输入了内容,我们期望根据内容的不同进行格式化。
在itemFormatter中,我们可以获取到四个参数:panel,c,r,cell。
通过panel.getCellData方法可以拿到单元格的数据。
校验是不是需要格式化的列以及设置格式化代码,请参考:
// validate CellType and if correct column if (wijmo.grid.CellType.Cell == panel.cellType && panel.columns[c].binding == 'amount') { // get the cell's data var cellData = panel.getCellData(r, c); // set cell's foreground color cell.style.color = getAmountColor(cellData); }
在这里,调用getAmountColor方法来判断不同值采用不同的颜色。
代码参考:
// get the color used to display an amount function getAmountColor(minfloor) { return minfloor < 1000 ? 'blue' : minfloor < 6000 ? 'black' : 'red'; }
初始化,对值得格式化,效果如下:
进入编辑状态,修改Amount列的单元格的值,颜色会随着值做格式化。
比如修改第一行的Amount列的值为6500,效果变成如下:
本文的源代码请参考:
flexgrid_formatter.zip (88.52 kb)
如果你对Wijmo5感兴趣,可以到如下链接下载:
更多资源:
Wijmo中文官网:/developer/wijmojs
Wijmo5在线示例:/developer/wijmojscore
Wijmo5产品文档:/developer/wijmojscore
如果依然有问题,可以到我们的官方产品论坛发帖咨询:http://gcdn.grapecity.com.cn/showforum-140.html
请参考Wijmo5技术文章汇总
《wijmo5 flexgrid基础教程》系列文章