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

QQ登录

只需一步,快速开始

楼主: hjn090301

[结贴] 多表关联查询

[复制链接]
发表于 2017-3-3 11:56:12 | 显示全部楼层
hjn090301 发表于 2017-3-3 10:40
如果只有一个参数没有报错。
另外,baasdata,新增加一个自定义列,作为ID列。这个id列能不能作为参数使用 ...

只有一个参数没有报错,两个参数就报错吗??没道理呀!
要不,你的参数直接把当前行传递进去,就是 $model.alarmBuilding($object)
这样在自定义方法中直接操作行对象row.val('字段')  获取值!这样试试吧~!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

43

主题

159

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
QQ
 楼主| 发表于 2017-3-3 14:22:24 | 显示全部楼层
liangyongfei 发表于 2017-3-3 11:56
只有一个参数没有报错,两个参数就报错吗??没道理呀!
要不,你的参数直接把当前行传递进去,就是 $mod ...

我把参数改成$object后,想要获取的数据都有,但还是会报错。
123.png
345.png
回复 支持 反对

使用道具 举报

发表于 2017-3-3 14:34:40 | 显示全部楼层
hjn090301 发表于 2017-3-3 14:22
我把参数改成$object后,想要获取的数据都有,但还是会报错。

你debugger调试一下!js进去了吗??
如果是在list组件下的节点!list绑定了data组件!那么传递参数$object肯定不会报错的!
就算报错也是自定义js中报出的错误!

你自己调试跟一下,是哪行代码报错的啊?
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

43

主题

159

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
QQ
 楼主| 发表于 2017-3-3 15:01:24 | 显示全部楼层
liangyongfei 发表于 2017-3-3 14:34
你debugger调试一下!js进去了吗??
如果是在list组件下的节点!list绑定了data组件!那么传递参数$obje ...

debugger调试js进去了,里面的方法检查了一遍,没有报错的。
还是第一次直接进入调试界面,刷新一下,先出现报错的信息,再进入调试界面。也不知道问题出在哪了。
回复 支持 反对

使用道具 举报

发表于 2017-3-3 15:12:02 | 显示全部楼层
hjn090301 发表于 2017-3-3 15:01
debugger调试js进去了,里面的方法检查了一遍,没有报错的。
还是第一次直接进入调试界面,刷新一下,先 ...

那你先把这个方法调用去掉!再试试吧!有可能不是这个方法引起的错误!是其他代码报的错!请一点点排查!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

43

主题

159

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
QQ
 楼主| 发表于 2017-3-3 16:44:16 | 显示全部楼层
liangyongfei 发表于 2017-3-3 15:12
那你先把这个方法调用去掉!再试试吧!有可能不是这个方法引起的错误!是其他代码报的错!请一点点排查! ...

数据data1设置完过滤后,refreshData()刷新数据。这个数据就变成过滤后的数据(假设是data2)。如果我再次调用该表,该表得到数据应该是data2吧。如果是这样我再次过滤,刷新肯定是什么也得不到。我估计应该是这样造成的,因为list绑定data后,会根据数据表的数据,循环生成li,这样就会再次根据数据过滤刷新。
如果是这样应该怎么解决啊。是不是refreshData()需要传入什么参数啊。
回复 支持 反对

使用道具 举报

发表于 2017-3-3 16:58:21 | 显示全部楼层
hjn090301 发表于 2017-3-3 16:44
数据data1设置完过滤后,refreshData()刷新数据。这个数据就变成过滤后的数据(假设是data2)。如果我再 ...

你是什么时候刷新的??
数据只刷新一次就行了!别一直刷新啊!
试试这种刷新方法
data.setFilter('filter1',"id='123'");
list.refresh(true);
这样 list刷新触发data刷新!一起刷新!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

43

主题

159

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
QQ
 楼主| 发表于 2017-3-3 17:21:31 | 显示全部楼层
liangyongfei 发表于 2017-3-3 16:58
你是什么时候刷新的??
数据只刷新一次就行了!别一直刷新啊!
试试这种刷新方法

list组件绑定的数据data,里面的数据都是数字,我要把data的数据作为参数,来关联其他数据表,获得相对应的字符串,然后显示到列表中。所以就通过bind-text绑定一个方法实现。所以第一条数据作为参数,把其他表过滤一下,获得相关的字符串,接着就是第二条数据作为参数,把其他表过滤一下,获得相关的字符串,以此类推。不过滤刷新不行啊,要不然就找不到数据。结果第一遍过滤后,第二遍过滤原来是在过滤后的基础上过滤,我以为是在原数据的基础上过滤。问题就是这样,怎么解决啊
回复 支持 反对

使用道具 举报

发表于 2017-3-3 17:31:18 | 显示全部楼层
hjn090301 发表于 2017-3-3 17:21
list组件绑定的数据data,里面的数据都是数字,我要把data的数据作为参数,来关联其他数据表,获得相对应 ...

能不能根据这个data中的数字为过滤条件,其他data中的符合条件的数据一次性全部加载出来!不要一直刷新!
条件设置可以是data.setFilter('filter',"id in ('1','2','3')")   或者,如果数据不多,干脆将其他数据一次性加载出来!

然后当前list绑定的data ,右键添加列!这个计算列的计算规则绑定一个js方法!根据当前,循环其他data组件中的数据!符合条件的获取到值,再进行字符串的拼接,,return 即可!

list组件只需要绑定这个计算列就行了!list中就不用再计算了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

43

主题

159

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
QQ
 楼主| 发表于 2017-3-3 17:39:07 | 显示全部楼层
liangyongfei 发表于 2017-3-3 17:31
能不能根据这个data中的数字为过滤条件,其他data中的符合条件的数据一次性全部加载出来!不要一直刷新! ...

数据比较多,你说这个不太好实现,有没有其他方法。不能刷新完后,第二次刷新还在原来的基础上,或者怎么让刷新后的数据再回到原来的数据。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-2 21:21 , Processed in 0.058392 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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