找回密码
 立即注册

QQ登录

只需一步,快速开始

lucham

初级会员

9

主题

22

帖子

259

积分

初级会员

积分
259

活字格认证

lucham
初级会员   /  发表于:2011-6-14 13:05  /   查看:6706  /  回复:8
我在spread designer 里定义了一个CELL, 其公式为另外两个CELL的和。

打开页面后,发现其值却是是两个CELL的和。但是当我在页面上更改其中一个CELL的值时, 这个计算域CELL 没有跟着变?

应该怎样处理?

8 个回复

倒序浏览
lucham
初级会员   /  发表于:2011-6-14 13:38:00
沙发
另外,我设置了clientautocalculation 属性,当编辑一个CELL的值后,页面中的CELL 就都不可编辑了。计算域CELL也没有跟着变。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-6-14 14:32:00
板凳
ClientAutoCalculation必须配合EnableAjaxCall来使用。
你应该是将EnableAjaxCall值为false了,请改为true。
回复 使用道具 举报
lucham
初级会员   /  发表于:2011-6-14 15:10:00
地板
设置了EnableAjaxCall, 不就不能使用EXCEL 外面 的 TEXTBOX之类的控件了吗?
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-6-14 15:17:00
5#
可以使用啊。

只不过针对你之前的问题,会有矛盾。

使用Ajax,那么每次Spread只会将自己提交的后台,处理之后再render到前端。但是,你在Spread的事件中,要修改Spread之外的控件,其实已经修改了,但是因为使用了ajax,因此Spread之外的TextBox不会被刷新,因此看到的效果好像TextBox没有变化。

你可以尝试将Spread和TextBox都放在Ajax的UpdatePanel中,然后尝试之前做法,看有没有问题。
回复 使用道具 举报
lucham
初级会员   /  发表于:2011-6-14 15:34:00
6#
设置了EnableAjaxCall, 修改了CELL, 会触发什么样的事件?

另外有没有关于做财务报表的例子,比如科目有10, 101, 102;20,201,202,而10是101和102科目的和;20是201和202科目的和。这时是一个CELL,一个CELL的从数据库中取数据,显示?还是说也可以绑定数据库,然后分组求和。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-6-14 16:41:00
7#
修改Cell后,会触发DataChanged事件。参看帮助文档。

关于数据绑定,当然是可以的。帮助文档中有比较详细的说明。
回复 使用道具 举报
lucham
初级会员   /  发表于:2011-6-14 18:01:00
8#
对于FPspread, 从PROPERTY中没有看到DataChanged事件啊。

我对FPspread 设置了 DATASOURCE , 设置了DATASOURCE 的UPDATECOMMAND ,当一改CELL , 数据库里的值也就跟着变了。 这个行为是在哪里控制的呢, 比如我想对这个值再做些处理再存进去。

另外我放了UPDATEPANEL在页面上了,TEXTBOX和SPREAD都在里面,改CELL的值得时候也不能刷新TEXTBOX的显示。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2011-6-14 18:19:00
9#
DataChanged是Client端事件。你可以在文档中“Client-Side Scripting Reference”章节中找到。

Spread可呈现,修改和存储数据。但是如果你想把Spread中更新的值存入数据库,需要手动完成,Spread没有接口支持。

可以尝试一下使用前端脚本语言。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部