2016-05-24 22:24题主

一张单据界面分开了表头和表体两张数据库表,请问该如何设置才能让表体写入数据库?

下图中,我新建了一张单据,点击【添加】按钮时,会打开单据的新增界面,这张单据的新增界面在数据库中表头是一个表,表体又是另外一个表,但是我发现当我点击【OK】后,在数据库的表体每次都只能插入一行,请问我应该如何设置?


我的点击【添加】按钮打开新增界面的事件代码如下:
var win = new Ext.window.Window(app._win); //app._win指向配置对象而非实例
win.show();
win.setIconCls('record_add_icon');
Wb.setTitle(win, '添加');
//窗口每次动态生成,方法在窗口销毁时自动销毁
win.mon(win, 'ok', function() {
  var values = Wb.getValue(win);
  Wb.request({
    url: 'm?xwl=my/data/kd-insert-ic-21', //使用basic-insert用于演示基本的操作,更简单的操作可使用'm?xwl=examples/crud/crud-db-access/insert'替代
    params: values,
    success: function(resp) {
      Wb.apply(values, Wb.decode(resp.responseText)); //把后台返回的ID_FIELD等数据应用到values中
      Wb.add(app.grid1, values); //同步在客户端表格中添加
      win.close(); //根据closeAction属性,默认为销毁
    }
  });
});



下面时点击OK后新增单据之后的数据库查询结果:
2016-05-25 18:38#1
这个问题已经在群里有答案了,可以使用updater很方便实现
app.update({tableName:'table',mode:'insert'});
@ZocJiang:如果方便请把整个模块的最后实现过程分享一下

2016-05-25 22:14#2
Zhao WJ,谢谢您的回复,确实已经解决了。

当然可以分享,我这两天忙着试用,过两天会整理好一份文档,回头就放到社区上。

返回开发者社区