找回密码
 立即注册

QQ登录

只需一步,快速开始

断天涯大虾
社区贡献组   /  发表于:2016-10-18 18:23  /   查看:4000  /  回复:0
在之前的文章中,我们介绍了itemFormatter的用法,实现了自定义Editor以及InlineEdit。

本文就在之前的基础上,介绍如何使用itemFormatter来实现格式化单元格

对于flexgrid,当输入了内容,我们期望根据内容的不同进行格式化。

在itemFormatter中,我们可以获取到四个参数:panel,c,r,cell。

通过panel.getCellData方法可以拿到单元格的数据。

校验是不是需要格式化的列以及设置格式化代码,请参考:
  1. // validate CellType and if correct column
  2.                         if (wijmo.grid.CellType.Cell == panel.cellType &&
  3.                           panel.columns[c].binding == 'amount') {

  4.                             // get the cell's data
  5.                             var cellData = panel.getCellData(r, c);

  6.                             // set cell's foreground color
  7.                             cell.style.color = getAmountColor(cellData);
  8.                         }
复制代码

在这里,调用getAmountColor方法来判断不同值采用不同的颜色。
代码参考:
  1. // get the color used to display an amount
  2.                 function getAmountColor(minfloor) {
  3.     return minfloor < 1000 ? 'blue' : minfloor < 6000 ? 'black' : 'red';
  4.                 }
复制代码
初始化,对值得格式化,效果如下:

进入编辑状态,修改Amount列的单元格的值,颜色会随着值做格式化。
比如修改第一行的Amount列的值为6500,效果变成如下:

免费试用
FlexGrid 包含在全能控件套包 ComponentOne Studio Enterprise 中。下载试用,请点击:
http://www.gcpowertools.com.cn/products/download.aspx?pid=2

了解更多详情,请访问官网:
http://www.gcpowertools.com.cn/products/componentone_studio_winform_flexgrid.htm

欢迎加入ComponentOne 官方QQ交流群:415971774与数百位开发精英即时交流,还可参加每周的视频公开课,快速上手。
   
关于葡萄城:全球最大的控件提供商,世界领先的企业应用定制工具、企业报表和商业智能解决方案提供商,为超过75%的全球财富500强企业提供服务。

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部