上表下表
释义
其实是一种YonBuilder既有单据的变形、是在已有单据上的扩展动作。就是其字面含义即上下各一个表格、两个表格之间存在一些联动动作或者一些数据的交互。
1、手机配件详情子表实体的创建
2、手机商品主子表单据的创建
3、创建下表
3.1 下表表格的作成
选择列表设计器
选中如图区域插入表格
记住自动生成的表格nid
选中单卡设计器(复制详情表格编辑器中的代码)
全部粘贴到新增下表的编辑器中
修改nid为其自动生成的
预览查看下表是否显示
不显示:没有识别到有改动
强制让其识别有改动
再次预览结果
3.2 API函数和前端函数的创建
3.2.1 API函数的创建
API函数代码块
let AbstractAPIHandler = require('AbstractAPIHandler'); class MyAPIHandler extends AbstractAPIHandler { execute(request) { // 编写详情的查询SQL var managerSql = "select baohuke,sim,chongdianqi,shujuxian," + "zhuji,putongmo,chongdiantou,ganghuamo,belong from GT10877AT81.GT10877AT81.pjdetail where phoneGood_id ='" + request.phoneGood_id + "'"; var res = ObjectStore.queryByYonQL(managerSql); return { res: res }; } } exports({ "entryPoint": MyAPIHandler });
3.2.2 前端函数的创建
childrenFiled属性值位置
前端初始化函数代码
function (event) { var viewModel = this; debugger; var gridModel = viewModel.getGridModel(); // 存储详情数据 var resultData = []; // 定义行选中 gridModel.on('afterSelect', function (data) { debugger; // data数据形式: [0,1,2] //获取行号 const res = data[data.length - 1]; // 获取选中行数据 var currentRow = viewModel.getGridModel().getRow(res); // 获取配件详情下表 var gridmodel1 = viewModel.get('pjdetailList'); // 清空下表数据 gridmodel1.clear(); //TODO: API函数id cb.rest.invokeFunction("GT10877AT81.backDefaultGroup.showPjDetail", { // 传参:手机商品ID phoneGood_id: currentRow.id }, // 回调函数 function (err, rtnData) { if (err != null) { cb.utils.alert('查询数据异常'); resultData = []; return false; } else { // 返回具体数据 resultData = rtnData.res; // 下表添加行数据 gridmodel1.appendRow(resultData[0]); } }) }); // 取消行选中的时候 gridModel.on('afterUnselect', function (data) { // 获取配件详情下表 var gridmodel1 = viewModel.get('pjdetailList'); // 清空下表数据 gridmodel1.clear(); }); }