在之前的文章中,我们介绍了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,效果变成如下:
|