mysql主从表单如何设计_如何快速的10分钟制作一张主从表单及功能

本文介绍如何使用快速开发平台建立一张主从表单页面

SDP软件快速开发平台介绍网址:www.sdpsoft.com

1、建立数据源

新建一张“测试_奖励管理_主表_页面”的数据源:

9b9ae5b7269305355823930ae2390dae.png

点击同步字段可以将此表中的字段同步过来(如图所示)

84be5fa4c6c88dbba85d3e1379a5cd25.png

新建一张“测试_奖励管理_从表_页面”的数据源

48212e19f3a4534e60873d29f9f7ff1c.png

2、在页面设计中制作页面

新建一张页面配置其信息

页面类型选择主从表单类型

脚本引用:test.js

c56918d82fe26221bd181ec6db45bd3a.png

添加数据集合(数据源): 主表信息 并且通过“添加字段”添加“主表主键字段”

051821cdccc49dd13465ec7017d4c3a9.png

添加从表信息:集合层次选择从集  关联字段添加 BillCode 以及 EmpCode    关联上级字段 BillCode

11529a4f617f15c8ab43f0d22f2f7dcd.png

通过复制粘贴制作好的页面表头到页面中:

405d4d09d240155657b73e21b00282a9.png

a1003c0d79a54009a8cc09b2ad6e675c.png

快速生成控件:点击快速生成控件按钮生成控件并且完善控件信息

df385ecca9a2eaff3ac82210e3d0a263.png

2912813408b4a7b237988698886cdd25.png

生成出来的页面:

5b677a3f3e1cf57a70ea81ace9d069d5.png

通过拖拉的方式完善页面的美观效果

2eda1c27321056b88a3eba5c563910b8.png

添加从表至页面中配置信息:

3ee54d722601fb7996022562f7450f68.png

b38bc6ce124de4bfb3c95087fc81d5f6.png

b8a7404039f899cf53fd30460f2ddb2b.png

定义人员编号文本按钮的js事件  在test.js中会用到

774fd3e9911c57a4a8ee55eca258f34e.png

在控件中定义按钮单击双击事件:

a15d5a61ecd0295821f2ee36f2bb5cee.png

保存事件:Punish_Page_Save()   删除:Punish_Page_Delete()  审核:Punish_Page_Check() 退出:Punish_Page_Exit()

增行:Punish_Page_AddRow()  删行:Punish_Page_DelRow()

在test.js中调用事件来实现按钮的功能

//#region 奖励管理--主单列表

// 奖励管理--主单列表--页面加载 function Reward_MainList_Init() { func_InitPageDataSource(); }

// 奖励管理--主单列表--新增事件 function Reward_MainList_Add() { func_AddNewDataBill(560, 540, "Rsgl_Reward_Form.html", "奖励管理", "Reward_MainList"); }

// 奖励管理--主单列表--编辑事件 function Reward_MainList_Edit() { func_ModifyDataBill(560, 540, "Rsgl_Reward_Form.html", "奖励管理", "Reward_MainList"); }

// 奖励管理--主单列表--查询事件 function Reward_MainList_Search() { func_AdvQueryByGrid("Reward_MainList"); }

// 奖励管理--主单列表--输出事件 function Reward_MainList_Export() { func_ExportRecord("Reward_MainList"); }

//#endregion

//#region 奖励管理--编辑页面

// 奖励管理--编辑页面_页面加载 function Reward_Page_Init() { func_InitPageDataSource(); if (sys_parameter.billstate == "edit") { if ($id("txt_Status").value != "草稿") { func_LockAllControl(); func_UnLockOneControl("btn_Exit"); } } else { func_LockOneControl("btn_Delete"); func_LockOneControl("btn_Check"); } }

// 奖励管理--编辑页面--保存事件 function Reward_Page_Save() { func_SaveBillData(); }

// 奖励管理--编辑页面--删除事件 function Reward_Page_Delete() {

if ($id("txt_BillCode").value == "") { alert("单据编号为空!不允许删除!"); return; } func_DeleteBillData(); }

// 奖励管理--编辑页面--审核事件 function Reward_Page_Check() { if ($id("dt_EffectDate").value == "") { alert("生效日期不允许为空!"); return; }

if (confirm("提示:是否确认审核?")) { var _nowDateTime = func_GetNowDate(); var _runStrSql = "update Rsgl_Reward_Main set Status= '已审',CheckEmpCode='" + userinfo.usercode + "',CheckEmpName='" + userinfo.username + "',"; switch (userinfo.dbtype) { // 数据库类型 case "oracle": _runStrSql += "CheckDate = to_date('" + _nowDateTime + "','yyyy-MM-dd HH24:mi:ss')"; break; case "sqlserver": default: _runStrSql += "CheckDate = '" + _nowDateTime + "'"; break; }

_runStrSql += " where BillCode='" + $id("txt_BillCode").value + "'";

var _runParams = ""; var _runResXml = Runajax("execsql", _runParams); if (_runResXml != "0") { alert("审核成功!"); location.reload(); // 重新加载刷新当前页面 } else { alert("审核失败!"); } } }

// 奖励管理--编辑页面--退出事件 function Reward_Page_Exit() { func_CloseDialog(); }

// 奖励管理--编辑页面--增行事件 function Reward_Page_AddRow() { func_AddRow("Emp_List"); }

// 奖励管理--编辑页面--删行事件 function Reward_Page_DelRow() { func_DelRow("Emp_List"); }

// 奖励管理--编辑页面--人员选择 function Reward_Page_SelectEmp(_rowIndex, _colIndex) { btnRowIndex = _rowIndex; btnColIndex = _colIndex; func_OpenPage(630, 445, "人员选择", "Basis_EmpBaseInfo_BaseSelect.html", "Reward_Page_SetEmp()"); }

// 奖励管理--编辑页面--人员回填 function Reward_Page_SetEmp(retXmlVal) { var recXmlDoc = loadXML(retXmlVal); if (!recXmlDoc) return;

// 编辑列表中的按钮事件的实例 var tmNowRow = func_GetRowObj("Emp_List", btnRowIndex); if (!tmNowRow) return;

for (var rr = 0; rr < recXmlDoc.documentElement.childNodes.length; rr++) { var recRow = recXmlDoc.documentElement.childNodes(rr); for (var cc = 0; cc < recRow.childNodes.length; cc++) { // 根据绑定的字段名字转换成小写来获取 switch (recRow.childNodes[cc].nodeName.toLowerCase()) { case "empcode": tmNowRow.cells[3].innerHTML = recRow.childNodes[cc].text; break; case "empname": tmNowRow.cells[4].innerHTML = recRow.childNodes[cc].text; break; case "orgcode": tmNowRow.cells[5].innerHTML = recRow.childNodes[cc].text; break; case "orgname": tmNowRow.cells[6].innerHTML = recRow.childNodes[cc].text; break; } } break; // 此处只获取一条 } retXmlVal = null; recXmlDoc = null; }

在web中生成:

5a9c3ffdd3ab89e1c60a610759a06efa.png

在系统中查看此页面:

f18dee2e61e2380301080f0f888ceaca.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值