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

QQ登录

只需一步,快速开始

查看: 11476|回复: 11

[处理中6] data传值与复制新增

[复制链接]

23

主题

66

帖子

165

积分

初级会员

Rank: 2

积分
165
QQ
发表于 2015-8-10 17:37:49 | 显示全部楼层 |阅读模式
版本: BeX5V3.1 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
现需要添加一个 ‘复制新增’ 的功能。

遇到的问题,点击新建按钮的事件:
Model.prototype.addBtnClick = function(event){
  var options = {
   action : "new",
  };
  this.comp("windowDialog").open({
   data : options
  });
};
这里将action=='new' 传入data,而编辑按钮的事件:
Model.prototype.editBtnClick = function(event){
  var mainData = this.comp("mainData");
  this.comp("windowDialog").open({
   data : mainData.getCurrentRow()
  });
};
这里如何将action ==’edit‘ 传入data??

在dialog的详细页面的windowReceiver事件:
Model.prototype.windowReceiverReceive = function(event){
  this.action = event.data.action;
  /////////alert(event.data.action);
  var mainData = this.comp('dialogData');
  mainData.clear();
  if (event.data.action === "new"){
   mainData.newData();
  }else{
   var row = mainData.add();
   row.assign(event.data);
  }
};
在这里我想添加’复制新增‘功能。
调用那几个方法可以实现?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2015-8-11 09:33:38 | 显示全部楼层
点编辑不是把edit传过去了
而是把当前行传过去了,在弹出框中获取到行然后通过 row.assign进行行复制


具体的复制新增要实现什么样的功能?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

23

主题

66

帖子

165

积分

初级会员

Rank: 2

积分
165
QQ
 楼主| 发表于 2015-8-11 10:15:29 | 显示全部楼层
jishuang 发表于 2015-8-11 09:33
点编辑不是把edit传过去了
而是把当前行传过去了,在弹出框中获取到行然后通过 row.assign进行行复制

复制新增, 1.PNG
新建 是打开空白的详细dialog,填写后增加一条记录,
复制新增是将一条选中的数据,传到详细dialog内,修改后新增一条数据。

另外,我知道点编辑的时候是传的一条数据,我的意思是如何将一个自定义参数同时传过去

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2015-8-11 13:53:39 | 显示全部楼层
直接在open中加自己的需要参数就可以,如下

this.comp("windowDialog").open({
                        data : mainData.getCurrentRow(),
                        id : mainData.getCurrentRowID(),
                        action:"edit"
                });

你上面的编辑的那个就能实现复制新增
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

23

主题

66

帖子

165

积分

初级会员

Rank: 2

积分
165
QQ
 楼主| 发表于 2015-8-11 15:43:20 | 显示全部楼层
jishuang 发表于 2015-8-11 13:53
直接在open中加自己的需要参数就可以,如下

this.comp("windowDialog").open({

这样传参,在详细dialog页面怎么获取?
另外,上边编辑的那个怎样实现复制新增,那只是修改吧
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2015-8-11 17:02:38 | 显示全部楼层
1.在dialog的详细页面的windowReceiver事件中event中可以获取啊,debugger调试看看event就知道

2.都已经调用了add了,不是直接编辑数据
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

23

主题

66

帖子

165

积分

初级会员

Rank: 2

积分
165
QQ
 楼主| 发表于 2015-8-12 11:12:58 | 显示全部楼层
jishuang 发表于 2015-8-11 17:02
1.在dialog的详细页面的windowReceiver事件中event中可以获取啊,debugger调试看看event就知道

2.都已经调 ...

1.在dialog的详细页面 的windowReceiver事件 中 alert(event.action);alert(event.id),运行是页面提示都是  undefined 找不到

2. var row = mainData.add();
    row.assign(event.data);
这是新建了一行数据,将event.data 放到这行数据里。之后在执行 确认按钮事件:
var mainData = this.comp("dialogData");
this.comp("windowReceiver").windowEnsure(mainData.getCurrentRow());
将值传到windowReceiver,并关闭dialog详细页面,为什么列表页面没有像 新建 多出一行数据,而是直接改的原来的一行数据呢?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2015-8-12 14:09:28 | 显示全部楼层
艾欧尼亚 发表于 2015-8-12 11:12
1.在dialog的详细页面 的windowReceiver事件 中 alert(event.action);alert(event.id),运行是页面提示都 ...

1.debugger调试看你的event中都有什么啊
2.你的复制新增,跟新增一样,只是复制新增可以通过row.assign(event.data)进行数据复制
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

23

主题

66

帖子

165

积分

初级会员

Rank: 2

积分
165
QQ
 楼主| 发表于 2015-8-12 17:20:16 | 显示全部楼层
本帖最后由 艾欧尼亚 于 2015-8-12 17:27 编辑
jishuang 发表于 2015-8-12 14:09
1.debugger调试看你的event中都有什么啊
2.你的复制新增,跟新增一样,只是复制新增可以通过row.assign(e ...

1.this.comp("windowDialog").open({
                         data : mainData.getCurrentRow(),
                         id : mainData.getCurrentRowID(),
                         action:"edit"
                 });
这样写,在子页面 取不到 id,acton。

这样可以:
this.comp("windowDialog").open({
                        data : {
                                data:mainData.getCurrentRow(),
                                action : 'edit',
                                id : mainData.getCurrentRowID()
                        }
                });
2.复制新增如你所说的。只是row.assign(event.data)只在子页面里进行了数据复制。mainData.new()是新增数据,而mainData.add()的用法并不是新增数据啊。能否给个例子,谢谢
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2015-8-12 18:00:17 | 显示全部楼层
你好楼主,这个问题需要我做一个例子给你,所以会花费较长时间,请你耐心等待,我完成后会第一时间将例子发上来的,谢谢!
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-3 10:12 , Processed in 0.071858 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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