找回密码
 立即注册

QQ登录

只需一步,快速开始

lgxl6925

初级会员

43

主题

130

帖子

397

积分

初级会员

积分
397

微信认证勋章

lgxl6925
初级会员   /  发表于:2016-3-22 09:40  /   查看:4713  /  回复:6
1。如何在后台按列绑定数据源?如:表1的字段一绑定fpspread的第三列,表2的字段二绑定fpspread的第五列?
2。如何设定数据显示位置?如:从C5开始显示数据?

6 个回复

倒序浏览
lgxl6925
初级会员   /  发表于:2016-3-22 13:08:18
沙发
不能实现吗?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-3-22 14:14:28
板凳
本帖最后由 dexteryao 于 2016-3-22 14:15 编辑

您好,很抱歉回复晚了,你的需求是可以实现的。
重点代码
  1. FpSpread1.Sheets[0].AutoGenerateColumns = false;
  2.             FpSpread1.Sheets[0].Columns[0].DataField = "FirstName";
  3.             FpSpread1.Sheets[0].Columns[4].DataField = "LastName";
复制代码

完整示例
  1.      System.Data.DataSet ds = new System.Data.DataSet();
  2.             DataTable name;
  3.             DataTable city;
  4.             name = ds.Tables.Add("Customers");
  5.             name.Columns.AddRange(new DataColumn[] { new DataColumn("LastName", Type.GetType("System.String")), new DataColumn("FirstName", Type.GetType("System.String")), new DataColumn("ID", Type.GetType("System.Int32")) });
  6.             name.Rows.Add(new object[] { "Fielding", "William", 0 });
  7.             name.Rows.Add(new object[] { "Williams", "Arthur", 1 });
  8.             name.Rows.Add(new object[] { "Zuchini", "Theodore", 2 });
  9.             city = ds.Tables.Add("City/State");
  10.             city.Columns.AddRange(new DataColumn[] { new DataColumn("City", Type.GetType("System.String")), new DataColumn("Owner", Type.GetType("System.Int32")), new DataColumn("State", Type.GetType("System.String")) });
  11.             city.Rows.Add(new object[] { "Atlanta", 0, "Georgia" });
  12.             city.Rows.Add(new object[] { "Boston", 1, "Mass." });
  13.             city.Rows.Add(new object[] { "Tampa", 2, "Fla." });

  14.             FpSpread1.Sheets[0].Columns.Count = 20;
  15.             FpSpread1.Sheets[0].AutoGenerateColumns = false;
  16.             FpSpread1.Sheets[0].Columns[0].DataField = "FirstName";
  17.             FpSpread1.Sheets[0].Columns[4].DataField = "LastName";

  18.             FpSpread1.Sheets[0].DataSource = ds;
复制代码



回复 使用道具 举报
lgxl6925
初级会员   /  发表于:2016-3-22 15:57:12
地板
谢谢帮助
第二个问题,如果我想从第N行,而不是第一行开始显示数据,可以实现吗?主要是解决复杂报表问题,
可能上半部分是一个表,下半部分是另外一个表。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-3-22 16:03:42
5#
可以绑定后添加行,然后对单元格操作

  1.             FpSpread1.Sheets[0].DataSource = ds;

  2.             FpSpread1.Sheets[0].AddUnboundRows(0, 5);
  3.             FpSpread1.Sheets[0].Cells[0, 0].Text = "abc";
复制代码
回复 使用道具 举报
lgxl6925
初级会员   /  发表于:2016-3-22 16:06:58
6#
非常感谢!
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-3-22 17:27:01
7#
不客气,谢谢您的支持
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部