找回密码
 立即注册

QQ登录

只需一步,快速开始

cxyao

注册会员

1

主题

2

帖子

19

积分

注册会员

积分
19
最新发帖
cxyao
注册会员   /  发表于:2018-5-18 11:49  /   查看:3346  /  回复:5
本帖最后由 cxyao 于 2018-5-18 11:50 编辑

FlexGrid中,在formatItem里面自定义单元格,使用如下代码后单元格无法被编辑
  1. formatItem: function(s, e) {
  2.       if (e.panel == s.cells && s.columns[e.col].binding == 'sales') {
  3.                var sales = e.panel.getCellData(e.row, e.col);
  4.            e.cell.innerHTML = sales + " 元";
  5.       }
  6. }
复制代码

请问,类似后面加个自定义的单位(例如:元,吨,辆),不影响单元格编辑的方法有没有?



5 个回复

倒序浏览
JeffryLI
葡萄城公司职员   /  发表于:2018-5-18 16:14:35
沙发
您好,如果使用innerHtml,单元格就不能编辑了,里面被解析成Html,您的方式直接可以使用SetCellData的方法,希望能帮到您。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
cxyao
注册会员   /  发表于:2018-5-24 12:07:20
板凳
JeffryLI 发表于 2018-5-18 16:14
您好,如果使用innerHtml,单元格就不能编辑了,里面被解析成Html,您的方式直接可以使用SetCellData的方法 ...

SetCellData之后表格的数据就会被改动了吧,我希望数据是数据,只是显示的时候自动加个单位,还有其他手段吗?
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2018-5-24 15:47:16
地板
您好,两种办法,
第一,直接在数据源里面处理数据,加上“元”
第二,在formatItem里面通过SetCellData(sales +元,row,col)
希望能帮到您。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
giao
注册会员   /  发表于:2022-10-27 14:33:56
5#
JeffryLI 发表于 2018-5-24 15:47
您好,两种办法,
第一,直接在数据源里面处理数据,加上“元”
第二,在formatItem里面通过SetCellData ...

这种情况现在有没有解决办法,我试了一下setCellData好像不太行啊
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-27 16:46:56
6#
你是在formatItems事件中吗,打个断点或者console一下看看是不是执行了代码

理论上来说这个事件中可以做任何的和显示有关的设置
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部