找回密码
 立即注册

QQ登录

只需一步,快速开始

ifrozen

高级会员

2

主题

5

帖子

1570

积分

高级会员

积分
1570

活字格认证

最新发帖
ifrozen
高级会员   /  发表于:2015-8-3 18:55  /   查看:8052  /  回复:5
当单元格的内容被改变后,想把背景色变成黄色,请问怎么实现

把整行的背景色变成黄色的话,可以用
                var selection = flexGrid.selection;
                if (selection.isSingleCell) {
                            var curFlexGridRow = flexGrid.rows[selection.row];
                            curFlexGridRow.cssClass = “自己定义的CSS”;
                }

想只把被改变的单元格,而不是整行的CSS变成黄色,怎么实现?
不知道怎么才能得到FlexGrid的单元格对象

5 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-8-4 14:55:00
沙发
回复 1楼ifrozen的帖子

感谢对该问题的反馈。
我理解你需要获取到flexgrid,并更改单元格的背景色?

如果你想获取/设置flexgid的某个单元格数据,可以通过getCellData/setCellData?(r, c, value, coerce, invalidate)方法。
  1. getCellData?(r, c, formatted)
  2. setCellData?(r, c, value, coerce, invalidate)
复制代码


改变样式,可以通过itemFormatter来实现。
itemFormatter请参考在线示例。
http://demo.gcpowertools.com.cn/ ... er/#/grid/templates

根据你的描述,比如你想在一个单元格的值改变后,将这个背景色改变。
那么基本的思路是:1.使用cellEditEnded事件进行监控。2.通过itemFormatter通过改变编辑单元格的背景色

至于改变的规则等,都需要你写代码实现。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
ifrozen
高级会员   /  发表于:2015-8-4 17:11:00
板凳
回复 2楼Alice的帖子

我是在CollectionView的collectionChanged事件里进行监视单元格的值和原始值比有没有改变的,现在当单元格的值改变后,已经能知道单元格的行号和列号了,但是怎么根据行号和列号把单元格的背景色改变了,还不会做?
cellEditEnded加事件监控方法的时候,事件有什么参数吗?
itemFormatter只能初期化的调用一次吗?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-8-5 10:35:00
地板
回复 3楼ifrozen的帖子

cellEditEnded提供了e.row, e.col可以获取到结束编辑状态的是哪个单元格。
结束编辑状态监控:
  1. s.cellEditEnded.addHandler(function (s, e) {
  2.            //你的逻辑  
  3. setChanged(e.row, e.col);
  4.       });
复制代码

初始化的时候设置itemFormatter
  1. //如果单元格内容改变,改变编辑单元格的背景色
  2. s.itemFormatter = function(panel, r, c, cell) {
  3.             if (panel == s.cells) {
  4.                 cell.style.backgroundColor = getChanged(r, c) ? '#e0e0e0' : '';
  5.             }
  6.         }
复制代码

其中setChanged/getChanged是你的代码逻辑,用来判断该单元格的值是否发生改变。

评分

参与人数 1满意度 +5 收起 理由
ifrozen + 5

查看全部评分

请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
ifrozen
高级会员   /  发表于:2015-8-6 08:57:00
5#
回复 4楼Alice的帖子

看来想改变单元格的背景色的话,只能在itemFormatter方法里面写了,
因为只有这个方法的参数会传入一个cell的HTML对象。
而且itemFormatter方法在单元格编辑的前后都会被调用。

多谢!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-8-6 18:14:00
6#
回复 5楼ifrozen的帖子

是的,分析的对。

不用客气。
为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢        

评分

参与人数 1满意度 +5 收起 理由
ifrozen + 5 问题解决

查看全部评分

请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部