找回密码
 立即注册

QQ登录

只需一步,快速开始

zhou_sir
论坛元老   /  发表于:2012-7-18 09:36  /   查看:8766  /  回复:9
版本:V4.0

求助:
为什么设置了: fpSpread.ClientAutoCalculation = true后,在后台取不到单元格中的值?

另外:在前端通过js为单元格赋值时,应该怎样写赋值语句才能保证赋值完后在后台能取到js赋的值,我现在通过为单元格的:innerText和innerHTML赋值都不行,在后台用C#取不到值,

求教!多谢!急~~~

9 个回复

倒序浏览
zhou_sir
论坛元老   /  发表于:2012-7-18 13:37:00
沙发
自己摸索解决了一个:客户端赋值用:SetValue()
回复 使用道具 举报
zhou_sir
论坛元老   /  发表于:2012-7-18 13:37:00
板凳
SetValue()参数:(行、列、当前值、true)
回复 使用道具 举报
zhou_sir
论坛元老   /  发表于:2012-7-18 14:03:00
地板
为什么设置了: fpSpread.ClientAutoCalculation = true后,在后台取不到单元格中的值
回复 使用道具 举报
zhou_sir
论坛元老   /  发表于:2012-7-18 15:18:00
5#
自己结贴,是我们页面引用了父页面,父页面中的操作导致的,跟其本身没关系。结贴。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-7-18 16:50:00
6#
回复 1楼zhou_sir的帖子

你好,
原因为前台数据更改并没有 Post 到后台,请参考我的 Demo:

5250.zip (2.32 MB, 下载次数: 612)
回复 使用道具 举报
zhou_sir
论坛元老   /  发表于:2012-7-19 10:55:00
7#
回复 6楼iceman的帖子

谢谢,还有一个问题:就是设置了:ClientAutoCalculation=true后,对于设置了farpoint.DataSource的表,可以实现有公式的单元格在客户端自动计算,而对于DataSource为Null的报表(表中数据直接通过赋值填充),在页面的单元格填充数据后,带公式的单元格却不自动修改,请问这个是怎么回事?

换句话说就是:当客户端更改单元格的值后,怎么触发事件,让farpoint自己去判断哪个单元格有公式,然后自动计算?
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-7-19 16:00:00
8#
回复 7楼zhou_sir的帖子

你好,
如果绑定数据源,使用公式自动计算,硬性要求为:数据库参与计算的字段必须为数字型(Numberic 型),才可以使用 "SUM(A1:B2)";
形式公式。否则需要使用A1+B1。
测试代码:

  1. protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if (IsPostBack)
  4.             {
  5.                 return;
  6.             }
  7.             DataTable dt = new DataTable();
  8.             dt.Columns.Add("第一列", typeof(System.Int32));
  9.             dt.Columns.Add("第二列", typeof(System.Int32));
  10.             dt.Columns.Add("第三列", typeof(System.Int32));
  11.             dt.Rows.Add();
  12.             dt.Rows.Add();
  13.             dt.Rows.Add();
  14.             this.FpSpread1.DataSource = dt;

  15.             this.FpSpread1.ClientAutoCalculation = true;
  16.             this.FpSpread1.Sheets[0].Cells[0, 2].Formula = "SUM(A1:B2)";
  17.         }
复制代码
回复 使用道具 举报
zhou_sir
论坛元老   /  发表于:2012-7-19 16:40:00
9#
但我试过不给DataSource赋值(即:DataSource为null的情况)下,通过代码为行列赋值。在这种情况下,如果没行标题,就可以支持sum公式。如果有行标题,就必须拆开写,能用就可以了。谢谢了!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-7-19 16:48:00
10#
回复 9楼zhou_sir的帖子

客气了:-D
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部