FineUI 官方论坛

标题: 【已确认】GetAddNewRecordReference的性能问题 [打印本页]

作者: 吉吉﹑    时间: 2015-11-10 15:15
标题: 【已确认】GetAddNewRecordReference的性能问题
我这边测试1000条数据,遍历执行GetAddNewRecordReference然后性能会非常慢,有什么好的解决方案吗?
不是直接绑定,我就是需要这些编辑数据。

作者: sanshi    时间: 2015-11-11 10:57
开源版还是专业版? 怎么遍历执行的,给代码?
作者: 吉吉﹑    时间: 2015-11-11 19:05
sanshi 发表于 2015-11-11 10:57
开源版还是专业版? 怎么遍历执行的,给代码?
  1. DataTable table = GetSourceData();

  2.             for (int i = 0; i < table.Rows.Count; i++)
  3.             {
  4.                 JObject defaultObj = new JObject();
  5.                 defaultObj.Add("Name", "新用户");
  6.                 defaultObj.Add("Gender", "1");
  7.                 defaultObj.Add("EntranceYear", "2015");
  8.                 defaultObj.Add("EntranceDate", DateTime.Now); // "2015-09-01");
  9.                 defaultObj.Add("AtSchool", false);
  10.                 defaultObj.Add("Major", "化学系");

  11.                 // 第一行新增一条数据
  12.                 PageContext.RegisterStartupScript(Grid1.GetAddNewRecordReference(defaultObj, AppendToEnd));

  13.             }
复制代码

作者: 吉吉﹑    时间: 2015-11-11 19:06
sanshi 发表于 2015-11-11 10:57
开源版还是专业版? 怎么遍历执行的,给代码?

专业版啊。。。。。。
作者: sanshi    时间: 2015-11-11 19:36
吉吉﹑ 发表于 2015-11-11 19:05

这样不行,每次调用 addNewRecord 时会进行表格布局。

你下载专业版的 JS API,表格有 addNewRecords 方法,可以一次添加多条记录
作者: 吉吉﹑    时间: 2015-11-11 19:44
sanshi 发表于 2015-11-11 19:36
这样不行,每次调用 addNewRecord 时会进行表格布局。

你下载专业版的 JS API,表格有 addNewRecords 方 ...

好的
作者: 吉吉﹑    时间: 2015-11-11 19:50
sanshi 发表于 2015-11-11 19:36
这样不行,每次调用 addNewRecord 时会进行表格布局。

你下载专业版的 JS API,表格有 addNewRecords 方 ...

我好像没找到那个方法呀,在GRID下面的吧?好像没有。
作者: 吉吉﹑    时间: 2015-11-11 19:52
sanshi 发表于 2015-11-11 19:36
这样不行,每次调用 addNewRecord 时会进行表格布局。

你下载专业版的 JS API,表格有 addNewRecords 方 ...

在2.8里面找到了。但他的JSON格式是什么样的?
作者: 吉吉﹑    时间: 2015-11-11 20:12
sanshi 发表于 2015-11-11 19:36
这样不行,每次调用 addNewRecord 时会进行表格布局。

你下载专业版的 JS API,表格有 addNewRecords 方 ...
  1. addNewRecords([{"pro_no":"91002410255","pro_name":"123214124","isshou":"是","brokentype":"","rnum":21,"remark":""}],false);
复制代码

这么试了,好像不行啊。
作者: 吉吉﹑    时间: 2015-11-11 20:33
sanshi 发表于 2015-11-11 19:36
这样不行,每次调用 addNewRecord 时会进行表格布局。

你下载专业版的 JS API,表格有 addNewRecords 方 ...
  1. DataTable table = GetSourceData();
  2.             JArray ja = new JArray();
  3.             for (int i = 0; i < table.Rows.Count; i++)
  4.             {
  5.                 JObject defaultObj = new JObject();
  6.                 defaultObj.Add("Name", "新用户");
  7.                 defaultObj.Add("Gender", "1");
  8.                 defaultObj.Add("EntranceYear", "2015");
  9.                 defaultObj.Add("EntranceDate", DateTime.Now); // "2015-09-01");
  10.                 defaultObj.Add("AtSchool", false);
  11.                 defaultObj.Add("Major", "化学系");
  12.                 ja.Add(defaultObj);
  13.                 // 第一行新增一条数据

  14.             }
  15.             string jsstring = String.Format("{0}.addNewRecords({1},{2});", "F('Grid1')", ja.ToString(), "false");

  16.             PageContext.RegisterStartupScript(jsstring);
复制代码

是这样的吧?
作者: 吉吉﹑    时间: 2015-11-11 20:50
sanshi 发表于 2015-11-11 19:36
这样不行,每次调用 addNewRecord 时会进行表格布局。

你下载专业版的 JS API,表格有 addNewRecords 方 ...

求三石解答处理。
作者: sanshi    时间: 2015-11-12 12:06
吉吉﹑ 发表于 2015-11-11 20:50
求三石解答处理。

F12 打开,看什么错误?

在 F12 的 Network 选项卡中 找到当前请求的响应正文,贴出来看下

作者: 吉吉﹑    时间: 2015-11-12 12:13
sanshi 发表于 2015-11-12 12:06
F12 打开,看什么错误?

在 F12 的 Network 选项卡中 找到当前请求的响应正文,贴出来看下

[attach]8111[/attach]
请看。
代码如下:
  1. DataTable table = GetSourceData();
  2.             JArray ja = new JArray();
  3.             for (int i = 0; i < table.Rows.Count; i++)
  4.             {
  5.                 JObject defaultObj = new JObject();
  6.                 defaultObj.Add("Name", "新用户");
  7.                 defaultObj.Add("Gender", "1");
  8.                 defaultObj.Add("EntranceYear", "2015");
  9.                 defaultObj.Add("EntranceDate", DateTime.Now); // "2015-09-01");
  10.                 defaultObj.Add("AtSchool", false);
  11.                 defaultObj.Add("Major", "化学系");
  12.                 ja.Add(defaultObj);
  13.                 // 第一行新增一条数据

  14.             }
  15.             string jsstring = String.Format("{0}.addNewRecords({1},{2});", "F('Grid1')", ja.ToString(), "false");

  16.             PageContext.RegisterStartupScript(jsstring);
复制代码



作者: sanshi    时间: 2015-11-12 12:40
吉吉﹑ 发表于 2015-11-12 12:13
请看。
代码如下:

你下午3点左右联系专业版客服QQ:2877408506
作者: sanshi    时间: 2015-12-2 09:12
已确认,addNewRecords 还是有点问题,下个版本会修正(v2.9.0)




欢迎光临 FineUI 官方论坛 (https://www.fineui.com/BBS/) Powered by Discuz! X3.4