找回密码
 立即注册

QQ登录

只需一步,快速开始

clerkie

中级会员

3

主题

10

帖子

789

积分

中级会员

积分
789

活字格认证

最新发帖
clerkie
中级会员   /  发表于:2015-5-29 08:49  /   查看:7396  /  回复:5
因为项目的需要,想用FlexGrid来做一个在线的数据展示和录入,但可惜FlexGrid不支持公式(只需要简单的加减乘除),这个功能是否可以增加代码来解决呢?

不清楚SpreadJS是否可以支持单元格或列只读,是否有单击或双击事件,如果SpreadJS能支持前述的几个功能,那也可以使用SpreadJS来代替的,谢谢!

5 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-5-29 10:59:00
沙发
回复 1楼clerkie的帖子

你好。
FlexGrid没有公式的功能,只能通过其他的方式写代码实现,目前我能想到的方案就是,数据源添加一列,对其他数据字段做计算,然后绑定给flexgrid。还有就是获取flexgrid的单元格的值,然后做计算,然后设置给另一个单元格。

SpreadJS和excel类似,如果比较了解excel,对功能就能快速的上手。
它支持只读,它是通过Lock锁定整个sheet,然后使得某些列unlock的方式实现。这点和excel一致。
spreadjs有提供click事件。
spreadjs的在线实例请参考:

http://demo.gcpowertools.com.cn/spreadjs/ExplorerSample/

你可以根据需求选择合适的控件。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
clerkie
中级会员   /  发表于:2015-5-29 11:19:00
板凳
回复 2楼Alice的帖子

你好,我看了有一个FlexGrid的例子(http://demo.gcpowertools.com.cn/ ... nce/defaultFlex.htm),上面是处理到了公式,请问这个例子是怎么实现的?谢谢!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-5-29 14:47:00
地板
回复 3楼clerkie的帖子

你好。
你可以在浏览器通过F12来查看源代码,也可以将该网页下载到本地来查看源代码。
这个例子是数据绑定的,我不太了解你指的公式的设定,是这个例子中的哪一列?还是我哪里理解不对?
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
clerkie
中级会员   /  发表于:2015-5-29 16:10:00
5#
回复 4楼Alice的帖子

你好,
你可以看到,页面上有一个FlexGrid和一个FlexChart,其中FlexGrid的Value字段是有公式的,Value的值等于List Price*Shares,修改Shares即会使Value的值变化,我也是这种需求。
这个页面的代码我看不懂,能否有一个简单的范例,让我的FlexGrid也能实现这种效果。
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-5-29 18:28:00
6#
回复 5楼clerkie的帖子

你好。
这个实例中FlexGrid的Value列只是绑定到数据源的某个字段marketValue,而计算的部分是在数据源完成的(就如我在2楼所提出的方法),然后Value列展示了这个数据源的值。
至于在数据源里如何操作,并不是FlexGrid提供的功能,是属于业务逻辑的部分。
你可以参考该示例的portfolio.js文件,下面有这样的代码来进行运算:
  1.        Object.defineProperty(PortfolioItem.prototype, "marketValue", {
  2.             get: function () {
  3.                 var s = this._shares, p = this.lastPrice;
  4.                 return s && p ? s * p : null;
  5.             },
  6.         });
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

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