起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2160|回复: 6

[结贴] 从baasData中获取的多条数据如何存储到普通data组件

[复制链接]

19

主题

66

帖子

126

积分

初级会员

Rank: 2

积分
126
QQ
发表于 2017-6-15 10:54:40 | 显示全部楼层 |阅读模式
我在页面放置了两个组件,bassData组件和普通的data组件。我在bassData组件中使用setFilter方法查询出来的多条记录,如何复制到data组件呢?
主要是for循环赋值时的defaultValue方法,格式不知道怎么写?
发表于 2017-6-15 11:04:35 | 显示全部楼层
如果字段都一样,可以这样
http://docs.wex5.com/wex5-ui-question-list-2026/

字段不一样,可以循环newData  或者setValue赋值!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

19

主题

66

帖子

126

积分

初级会员

Rank: 2

积分
126
QQ
 楼主| 发表于 2017-6-15 11:13:49 | 显示全部楼层
liangyongfei 发表于 2017-6-15 11:04
如果字段都一样,可以这样
http://docs.wex5.com/wex5-ui-question-list-2026/

newData方法的使用有没有示例,还有就是我的data组件开始是没有行的
回复 支持 反对

使用道具 举报

发表于 2017-6-15 11:25:20 | 显示全部楼层
浅笑 发表于 2017-6-15 11:13
newData方法的使用有没有示例,还有就是我的data组件开始是没有行的

没有行也是可以的!
请问你两个data组件字段一样吗?
一样就参考连接
http://docs.wex5.com/wex5-ui-question-list-2026/

newData的案例可以参考API文档
  1. var data = this.comp('mainData');
  2.         var options = {
  3.                 defaultValues : [
  4.                         {sName:'a1',sCode:'b1'},
  5.                         {sName:'a2',sCode:'b2'}
  6.                 ]
  7.         };       
  8.         data.newData(options);
复制代码
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

19

主题

66

帖子

126

积分

初级会员

Rank: 2

积分
126
QQ
 楼主| 发表于 2017-6-21 14:21:13 | 显示全部楼层
liangyongfei 发表于 2017-6-15 11:25
没有行也是可以的!
请问你两个data组件字段一样吗?
一样就参考连接

两个data组件中的字段是不同的,我用图片中的方法进行赋值,每次alert的pid都是同一个值,是哪里写错了?
QQ截图20170621141848.png
回复 支持 反对

使用道具 举报

发表于 2017-6-21 15:02:54 | 显示全部楼层
浅笑 发表于 2017-6-21 14:21
两个data组件中的字段是不同的,我用图片中的方法进行赋值,每次alert的pid都是同一个值,是哪里写错了? ...

data.each循环中获取当前行字段的值应该是

  1.   this.comp('mainData').each(function(param){
  2.             param.row.val('pid');
  3.     });
复制代码


你是使用的data.getValue('pid') 获取字段值的!
第二个参数为空,表示当前选择行!所以当然获取的是同一个值了!


另外你的代码是有性能问题的!
再循环里面不停调用data.refreshData() 刷新数据!肯定不行的!网络请求太频繁了

建议思路可以参考!
先通过
  1.   this.comp('mainData').each(function(param){
  2.             param.row.val('pid');
  3.     });
复制代码

获取所有的pid的值存储在一个数组中!

然后设置data.setFilter 过滤条件的时候
应该是where pid in('pid1','pid2','pid3',等等等。。。。)
其中in中的字符串是通过数组循环拼接而成的!

这样一个条件,调用一次刷新就可以把符合条件的数据全部查出来了!

然后再循环目标data组件调用 data.newData 往里面加数据!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

19

主题

66

帖子

126

积分

初级会员

Rank: 2

积分
126
QQ
 楼主| 发表于 2017-6-21 16:51:17 | 显示全部楼层
liangyongfei 发表于 2017-6-21 15:02
data.each循环中获取当前行字段的值应该是

  

好的,谢谢,问题解决了,可以结贴了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-11 10:26 , Processed in 0.055531 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表