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

QQ登录

只需一步,快速开始

查看: 2129|回复: 5

[结贴] 关于windowdialog传参的代码问题

[复制链接]

9

主题

59

帖子

143

积分

初级会员

Rank: 2

积分
143
QQ
发表于 2017-3-12 22:31:29 | 显示全部楼层 |阅读模式
我在按记账本教程做类似windowdialog传参的时候,想改为从list之外某个按键触发。想请问onclick中将数据库baasdata2中当前行的数据传参至新开启页面接收,应该怎么写呀?listrow+Alt/的方法似乎是获得当前list行的数据。我想获得一个指定的数据库经过筛选后的当前行数据,筛选已 。基础差,请大神指点


123.jpg





在此也感谢此前一直以来的指点

9

主题

59

帖子

143

积分

初级会员

Rank: 2

积分
143
QQ
 楼主| 发表于 2017-3-13 11:30:59 | 显示全部楼层
本帖最后由 bluecube 于 2017-3-13 12:17 编辑

完全照抄原文在我的程序里报错。 1489372179(1.png

gluserclass所在的行都是按键,gluserclass的父容器是panel的body,body下还有与gluserclass所在行并列的一些select。都与我要传参的数据库没关联。不知道是不是这原因?

我试着改成了:

1        Model.prototype.gluserclassClick = function(event){
2                userdata = this.comp("baasData2");
3                var row = event.bindingContext.userdata;
4                this.comp("windowDialog1").open({
5                        "data" : {
6                                "operate" : "edit",
7                                "rowData" : row.toJson()
8                        }
9                })
10        };        

报同样的错。我想可能是我2、3行的语法还是没写对,生搬硬套的。不知道怎么改才好?

按照记账本的方法新增记录没问题。能记录能储存

回复 支持 反对

使用道具 举报

发表于 2017-3-13 15:52:22 | 显示全部楼层
本帖最后由 liangyongfei 于 2017-3-13 15:53 编辑
bluecube 发表于 2017-3-13 11:30
完全照抄原文在我的程序里报错。

gluserclass所在的行都是按键,gluserclass的父容器是panel的body,body ...

row.toJson()  报错  toJson   不存在
event.bindingContext.userdata  这种写法是哪儿来的??这样的写法肯定不对
event.bindingContext.$object  如果是list中点击的就是表示当前行!!

如果你想获取userdata  当前行的对象,请使用data.getCurrentRow()  获取行对象


另外,页面交互传参的问题看下
http://docs.wex5.com/page-interaction/
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

9

主题

59

帖子

143

积分

初级会员

Rank: 2

积分
143
QQ
 楼主| 发表于 2017-3-13 16:32:28 | 显示全部楼层
本帖最后由 bluecube 于 2017-3-13 16:39 编辑

多谢大师!问题已经解决,可以结帖了。语法这东西,弄对了就很简单,弄错了就一直出问题……
回复 支持 反对

使用道具 举报

9

主题

59

帖子

143

积分

初级会员

Rank: 2

积分
143
QQ
 楼主| 发表于 2017-3-13 16:44:23 | 显示全部楼层
我发现如果当前行不确定的时候,系统也会返回Json不存在。不知道怎么样可以将这个提示改为我需要的语句?便于先选定在点击按键
回复 支持 反对

使用道具 举报

9

主题

59

帖子

143

积分

初级会员

Rank: 2

积分
143
QQ
 楼主| 发表于 2017-3-13 17:11:46 | 显示全部楼层
本帖最后由 bluecube 于 2017-3-14 10:08 编辑

我用了一个很笨的方法进一步实现了弹出窗。else if的部分不知道还能不能优化了。

        Model.prototype.gluserclassClick = function(event){
                var userdata = this.comp("baasdata2");
                var row = userdata.getCurrentRow();//.toJson();
                if(userdata.count("baasdata2") < 1){
                     //Message.message("aler", "请选择客户");
                this.comp("messageDialog1").show();
                     //alert("请选择客户");
               
                } else if(userdata.count("baasdata2") > 0) {
               
                this.comp("windowDialog1").open({
                        "data" : {
                                "operate" : "edit",
                                "rowData": row.toJson()                                                                                                        
                        }                                
                })
                }
        };        

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-8 06:31 , Processed in 0.062317 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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