找回密码
 立即注册

QQ登录

只需一步,快速开始

c1ultimate
论坛元老   /  发表于:2013-12-19 18:16:00
11#
你意思是SpreadJS不能做到嗎?
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-12-20 09:29:00
12#
是这样的,SpreadJS,包括你使用的其他Wijmo控件是纯前端控件,使用ajax,json等标准技术可以完成前后台数据操作,但是控件本身并不做特殊处理。而ASP.NET版本的控件则是利用ASP.NET平台特性对于数据传递等方面封装比较好。从这几个帖子看起来,你更适合使用ASP.NET版本的控件,所以给你提出这个建议。

关于本问题,严格来说不是SpreadJS能做到,而是jQuery能做到。使用SpreadJS的话,所有前后端数据传递和方法调用全部依赖于标准技术,控件遵从这些技术。所以你会需要有大量的数据传递、获取和解析的工作要做。除了之前提供的demo外,这里还有几句代码供你参考:
  1.         $.ajax({
  2.             url: "http://addPage.aspx",
  3.             type: "POST",
  4.             data: "{person:{name:'peter',age:'15'}}",
  5.             dataType: "json",
  6.             contentType: "application/json,charset=UTF-8",
  7.             success: function () {
  8.                 alert("Send Success");
  9.             }
  10.         });
复制代码
回复 使用道具 举报
c1ultimate
论坛元老   /  发表于:2013-12-20 10:41:00
13#
可否按#9給予一個實際應用SpreadJS的例子或文件說明"如何把在SpreadJS的數據傳回到aspx.cs或ascx.cs?"

例如SpreadJS提供了那個接口可以導出數據到json格式。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-12-20 10:57:00
14#
SpreadJS没有这样的接口,需要你序列化json然后到后台在自己解析。
另外关于数据传递,正如我之前所属,控件没有做特别支持,所以你可以参考标准的jQuery类库方法即可。帮助文档如下:
SpreadJS:http://helpcentral.componentone. ... e.html#welcome.html
jQuery:http://api.jquery.com/
回复 使用道具 举报
gw0506
超级版主   /  发表于:2013-12-20 12:09:00
15#
抱歉,刚才回复有误,SpreadJS提供toJSON和fromJSON方法,可以参考如下代码:
  1. activeSheet.getCell(0,0).value(123);
  2. var jsonStr = null;
  3. //export
  4. jsonStr = JSON.stringify(spread.toJSON());
  5. //import
  6. spread.fromJSON(JSON.parse(jsonStr));
  7. alert(jsonStr);
  8. //alert(jsonStr[0]);
复制代码

另外,有关数据源绑定的问题,有如下示例:
  1. var datasource = [
  2.                    { name: "Alice", age: 27, birthday: "1985/08/31", position: "PM" },
  3.                    { name: "Aimee", age: 28, birthday: "1984/07/31", position: "TL" },
  4.                    { name: "Charles", age: 29, birthday: "1983/03/31", position: "QC" },
  5.                    { name: "Fred", age: 30, birthday: "1982/02/20", position: "DL" },
  6.                    { name: "Angelia", age: 31, birthday: "1981/05/30", position: "QC" },
  7.                    { name: "Peter", age: 32, birthday: "1980/11/08", position: "QC" }
  8.                ];
  9.                var nameColInfo = { name: "name", displayName: "Name", size: 70 };
  10.                var ageColInfo = { name: "age", displayName: "Age", size: 40, resizable: false };
  11.                var birthdayColInfo = { name: "birthday", displayName: "Birthday",formatter:"d/M/yy", size: 120 };
  12.                var positionColInfo = { name: "position", displayName: "Position", size: 50, visible: false };
  13.                activeSheet.autoGenerateColumns = true;
  14.                activeSheet.setDataSource(datasource);
  15.                activeSheet.bindColumn(0, nameColInfo);
  16.                activeSheet.bindColumn(1, ageColInfo);
  17.                activeSheet.bindColumn(2, birthdayColInfo);
  18.                activeSheet.bindColumn(3, positionColInfo);
复制代码

想起情况可以参见文档:http://helpcentral.componentone. ... e.html#binding.html
回复 使用道具 举报
c1ultimate
论坛元老   /  发表于:2013-12-20 20:06:00
16#
是的,我是曾見過#15的例子所以覺得是可以傳回json到asp.net後台。但例子都是不是連到asp.net的数据源, 我是不知要如何把spreadjs應用到asp.net後台:

如何實際把SpreadJS数据源绑定到後台(或後台可讀取到的字串), 或字段 <asp:HiddenField ID="SpreadSearch" runat="server" />?

謝謝。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-12-23 10:37:00
17#
回复 16楼c1ultimate的帖子

c1ultimate 你好,
我们正在尝试为你制作相应的例子,请稍候。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2013-12-23 13:32:00
18#
回复 16楼c1ultimate的帖子

请参考附件:



getSource.aspx页面用户取数据。
updateSource.aspx页面用于更新数据。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2014-1-7 16:41:00
19#
回复 16楼c1ultimate的帖子

c1ultimate 你好,
请问 Demo 是否解决了你的问题?问题进展如何?
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部