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

QQ登录

只需一步,快速开始

查看: 1668|回复: 2

[结贴] 保存,修改问题请教

[复制链接]

30

主题

145

帖子

248

积分

中级会员

Rank: 3Rank: 3

积分
248
QQ
发表于 2016-9-13 11:54:27 | 显示全部楼层 |阅读模式
本帖最后由 闰土 于 2016-9-13 14:54 编辑

一个列表页面list.w,一个新增/修改页面 add.w.功能如下:点击新增按钮时,跳转到新增页面,按钮对应的代码如下;        
// 新增
        Model.prototype.addClick = function(event) {
                this.comp("addDialog").open({
                        "data" : {
                                "operator" : "new"
                        }
                });
        };
可以正常跳转,现在再进行保存操作,数据可以输入,但是点击保存后,返回list.w页面后,没有执行刷新,也没有增加数据,数据库里也没有增加数据
保存按钮对应代码如下:
//确定保存
        Model.prototype.okbtnClick = function(event){
    var persondata = this.comp("persondata");
        var receiver = this.comp("windowReceiver");
        receiver.windowEnsure(persondata.getCurrentRow());
        };

下面附上list.js和add.js
list.js:
  1. define(function(require) {
  2.         var $ = require("jquery");
  3.         var justep = require("$UI/system/lib/justep");

  4.         var Model = function() {
  5.                 this.callParent();
  6.         };

  7.         // 新增
  8.         Model.prototype.addClick = function(event) {
  9.                 this.comp("addDialog").open({
  10.                         "data" : {
  11.                                 "operator" : "new"
  12.                         }
  13.                 });
  14.         };

  15.         // 编辑信息
  16.         Model.prototype.editUser = function(row) {
  17.                 this.comp("addDialog").open({
  18.                         "data" : {
  19.                                 "operator" : "edit",
  20.                                 "rowData" : row.toJson()
  21.                         }
  22.                 });
  23.         };
  24.         // 编辑按钮
  25.         Model.prototype.editClick = function(event) {
  26.                 var row = this.comp("persondata").getCurrentRow();
  27.                 this.editUser(row);
  28.         };
  29.         // 双击列表编辑信息
  30.         Model.prototype.persondataTablesRowDblClick = function(event) {
  31.                 var row = this.comp("persondata").getCurrentRow();
  32.                 this.editUser(row);
  33.         };

  34.         // 保存数据更新
  35.         Model.prototype.addDialogReceived = function(event) {
  36.                 this.comp("persondata").saveData();
  37.         };

  38.         // 删除
  39.         Model.prototype.deleteClick = function(event) {
  40.                 var data = this.comp("persondata");
  41.                 var row = this.comp("persondata").getCurrentRow();
  42.                 this.comp("persondata").deleteData([ row ], {
  43.                         "async" : true,
  44.                         "onSuccess" : function() {
  45.                                 data.saveData();
  46.                         }
  47.                 })
  48.         };

  49.         // 搜索
  50.         Model.prototype.selectClick = function(event) {
  51.                 var text = this.getElementByXid('selectCondition').value;

  52.                 if (text != null && text != "") {
  53.                         this.comp('persondata').setFilter(
  54.                                         "filter1",
  55.                                         "person.fID like '%" + text + "%' or person.fName like '%" + text + "%' or person.fphone like '%" + text + "%' or person.faddress like '%" + text
  56.                                                         + "%'");

  57.                 } else {
  58.                         this.comp('persondata').filters.clear();
  59.                 }
  60.                 this.comp('persondata').refreshData();
  61.         };

  62.         

  63.         return Model;
  64. });



  65. add.js:
  66. define(function(require){
  67.         var $ = require("jquery");
  68.         var justep = require("$UI/system/lib/justep");
  69.         
  70.         var Model = function(){
  71.                 this.callParent();
  72.         };
  73. //新增或编辑
  74.         Model.prototype.windowReceiverReceive = function(event){
  75.         var persondata = this.comp("persondata");
  76.                 persondata.clear();
  77.                 this.operator = event.data.operator;
  78.                 if (this.operator == "new") {
  79.                         persondata.newData({
  80.                                 "defaultValues" : [ {
  81.                                         "fID" : justep.UUID.createUUID()
  82.                                        
  83.                                 } ]
  84.                         });
  85.                 } else if (this.operator == "edit") {
  86.                         persondata.loadData([ event.data.rowData ]);
  87.                         persondata.first();
  88.                 }
  89.         };
  90. //取消
  91.         Model.prototype.cancelClick = function(event){
  92.     this.comp("windowReceiver").windowCancel();
  93.         };
  94. //确定保存
  95.         Model.prototype.okbtnClick = function(event){
  96.     var persondata = this.comp("persondata");
  97.         var receiver = this.comp("windowReceiver");
  98.         receiver.windowEnsure(persondata.getCurrentRow());
  99.         };

  100.         return Model;
  101. });
复制代码




1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-9-13 15:02:35 | 显示全部楼层
代码太多,我没法找重点,还有会发代码时候,最好用code包裹上,好看一点。这样,你在感觉出问题的方法打一个断点,然后一步一步,走,就能知道,是什么没有获取到,导致的你说的问题,代码出错,是需要调试的。
在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

30

主题

145

帖子

248

积分

中级会员

Rank: 3Rank: 3

积分
248
QQ
 楼主| 发表于 2016-9-14 08:44:04 | 显示全部楼层
闰土 发表于 2016-9-13 15:02
代码太多,我没法找重点,还有会发代码时候,最好用code包裹上,好看一点。这样,你在感觉出问题的方法打一 ...

问题解决了,那个map没关联
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-28 17:25 , Processed in 0.086274 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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