找回密码
 立即注册

QQ登录

只需一步,快速开始

wp_pandy
高级会员   /  发表于:2011-10-27 22:11:00
11#
学习了,我发的贴高手也给解答解答啊!
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2011-10-28 10:56:00
12#

回复 11# wp_pandy 的帖子

你强大的学习精神值得我们学习~:strong:
回复 使用道具 举报
michael
银牌会员   /  发表于:2011-10-28 20:21:00
13#
不好意思 还是这个问题 纠结很久了 下面是代码 在不改变数据源类型下 我把所有的单元格都设置doublecelltype了 但是还是不行,怎么改好
      DataTable dt = new DataTable();
        dt.Columns.Add("列1");
        dt.Columns.Add("列2");
        dt.Columns.Add("列3");
        dt.Columns.Add("列4");

        DataRow dr = dt.NewRow();
        dr["列1"] = 11.000;
        dr["列2"] = 2;
        dr["列3"] = 3;

        dt.Rows.Add(dr);
        this.FpSpread1.Sheets[0].DataAutoCellTypes = false;

        FpSpread1.DataSource = dt;
        FpSpread1.DataBind();

        FpSpread1.ActiveSheetView.ColumnHeader.RowCount = 2;

        DoubleCellType db = new DoubleCellType();
        db.DecimalDigits = 3;
        db.FixedPoint = true;
        FpSpread1.ActiveSheetView.Cells[0, 0].CellType = db;
        FpSpread1.ActiveSheetView.Cells[0, 1].CellType = db;
        FpSpread1.ActiveSheetView.Cells[0, 2].CellType = db;
        FpSpread1.ActiveSheetView.Cells[0, 3].CellType = db;

        FpSpread1.ClientAutoCalculation = true;
        FpSpread1.ActiveSheetView.SetFormula(0, 3, "AVERAGE(A1:A3)");
回复 使用道具 举报
wp_pandy
高级会员   /  发表于:2011-10-31 09:04:00
14#
没个详细讲解FpSpread的帮助啊
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2011-10-31 13:51:00
15#
你好,我在数据源上设置字段数据类型后公式起到作用,

  1.             this.FpSpread1.Sheets[0].DataAutoCellTypes = false;

  2.             //设置数据源字段数据类型.
  3.             DataTable dt = new DataTable();
  4.             //第一列设定为 String 类型,设置 AVERAGE(A1:C1) 后此列不会参与计算.
  5.             dt.Columns.Add("列1", typeof(System.String));
  6.             //其余列列设定为 Double 类型,设置 AVERAGE(A1:C1) 参加计算部分.
  7.             dt.Columns.Add("列2", typeof(System.Double));
  8.             dt.Columns.Add("列3", typeof(System.Double));
  9.             dt.Columns.Add("列4", typeof(System.Double));

  10.             DataRow dr0 = dt.NewRow();
  11.             dr0["列1"] = 11.000;
  12.             dr0["列2"] = 2;
  13.             dr0["列3"] = 3;
  14.             dt.Rows.Add(dr0);


  15.             FpSpread1.DataSource = dt;
  16.             FpSpread1.DataBind();

  17.             DoubleCellType db = new DoubleCellType();
  18.             db.DecimalDigits = 3;
  19.             db.FixedPoint = true;
  20.             FpSpread1.ActiveSheetView.Cells[0, 0].CellType = db;
  21.             FpSpread1.ActiveSheetView.Cells[0, 1].CellType = db;
  22.             FpSpread1.ActiveSheetView.Cells[0, 2].CellType = db;
  23.             FpSpread1.ActiveSheetView.Cells[0, 3].CellType = db;
  24.             FpSpread1.ClientAutoCalculation = true;
  25.             FpSpread1.Sheets[0].SetFormula(0, 3, "AVERAGE(A1:C1)");
复制代码
效果图:

png

png

如果以上仍然不符合你的需求,那么请你发 Demo 过来,我们继续交流:share: ~
回复 使用道具 举报
michael
银牌会员   /  发表于:2011-10-31 20:57:00
16#
改变列的类型 公式起作用这我已经知道了呵呵
我的意思是说在不改变类型的情况下 就是不加typeof(System.Double)
像9楼回答的那样设置 该怎么改
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2011-11-1 13:07:00
17#
你好,这个用例目前 Spread 不支持,绑定数据源后如果参数中含有非数值类型,只能通过 SUM(A1+B1+C1)形式进行求和。给你带来不便,很抱歉。
回复 使用道具 举报
michael
银牌会员   /  发表于:2011-11-1 20:01:00
18#
哦 知道了 谢谢这么长时间的指导
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2011-11-1 22:50:00
19#

回复 18# michael 的帖子

客气了,在 spread 使用过程中有问题,欢迎继续来论坛交流。
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部