本文介紹如何使用快速開發(fā)平臺(tái)建立一張主從表單頁面
我們的網(wǎng)址:www.sdpsoft.com
QQ:136846796 電話:13506214148 微信: candynext
1畸冲、建立數(shù)據(jù)源
新建一張“測試_獎(jiǎng)勵(lì)管理_主表_頁面”的數(shù)據(jù)源:
點(diǎn)擊同步字段可以將此表中的字段同步過來(如圖所示)
新建一張“測試_獎(jiǎng)勵(lì)管理_從表_頁面”的數(shù)據(jù)源
2、在頁面設(shè)計(jì)中制作頁面
新建一張頁面配置其信息
頁面類型選擇主從表單類型
腳本引用:test.js
添加數(shù)據(jù)集合(數(shù)據(jù)源): 主表信息 并且通過“添加字段”添加“主表主鍵字段”
添加從表信息:集合層次選擇從集 關(guān)聯(lián)字段添加 BillCode 以及 EmpCode關(guān)聯(lián)上級(jí)字段 BillCode
通過復(fù)制粘貼制作好的頁面表頭到頁面中:
快速生成控件:點(diǎn)擊快速生成控件按鈕生成控件并且完善控件信息
生成出來的頁面:
通過拖拉的方式完善頁面的美觀效果
添加從表至頁面中配置信息:
定義人員編號(hào)文本按鈕的js事件 在test.js中會(huì)用到
在控件中定義按鈕單擊雙擊事件:
保存事件:Punish_Page_Save() 刪除:Punish_Page_Delete() 審核:Punish_Page_Check() 退出:Punish_Page_Exit()
增行:Punish_Page_AddRow() 刪行:Punish_Page_DelRow()
在test.js中調(diào)用事件來實(shí)現(xiàn)按鈕的功能
//#region 獎(jiǎng)勵(lì)管理--主單列表
// 獎(jiǎng)勵(lì)管理--主單列表--頁面加載
function Reward_MainList_Init() {
func_InitPageDataSource();
}
// 獎(jiǎng)勵(lì)管理--主單列表--新增事件
function Reward_MainList_Add() {
func_AddNewDataBill(560, 540, "Rsgl_Reward_Form.html", "獎(jiǎng)勵(lì)管理", "Reward_MainList");
}
// 獎(jiǎng)勵(lì)管理--主單列表--編輯事件
function Reward_MainList_Edit() {
func_ModifyDataBill(560, 540, "Rsgl_Reward_Form.html", "獎(jiǎng)勵(lì)管理", "Reward_MainList");
}
// 獎(jiǎng)勵(lì)管理--主單列表--查詢事件
function Reward_MainList_Search() {
func_AdvQueryByGrid("Reward_MainList");
}
// 獎(jiǎng)勵(lì)管理--主單列表--輸出事件
function Reward_MainList_Export() {
func_ExportRecord("Reward_MainList");
}
//#endregion
//#region 獎(jiǎng)勵(lì)管理--編輯頁面
// 獎(jiǎng)勵(lì)管理--編輯頁面_頁面加載
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");
}
}
// 獎(jiǎng)勵(lì)管理--編輯頁面--保存事件
function Reward_Page_Save() {
func_SaveBillData();
}
// 獎(jiǎng)勵(lì)管理--編輯頁面--刪除事件
function Reward_Page_Delete() {
if ($id("txt_BillCode").value == "") {
alert("單據(jù)編號(hào)為空枢里!不允許刪除移国!");
return;
}
func_DeleteBillData();
}
// 獎(jiǎng)勵(lì)管理--編輯頁面--審核事件
function Reward_Page_Check() {
if ($id("dt_EffectDate").value == "") {
alert("生效日期不允許為空启妹!");
return;
}
if (confirm("提示:是否確認(rèn)審核?")) {
var _nowDateTime = func_GetNowDate();
var _runStrSql = "update Rsgl_Reward_Main set Status= '已審',CheckEmpCode='" + userinfo.usercode + "',CheckEmpName='" + userinfo.username + "',";
switch (userinfo.dbtype) {? //數(shù)據(jù)庫類型
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(); // 重新加載刷新當(dāng)前頁面
} else {
alert("審核失敿嗯恰啄清!");
}
}
}
// 獎(jiǎng)勵(lì)管理--編輯頁面--退出事件
function Reward_Page_Exit() {
func_CloseDialog();
}
// 獎(jiǎng)勵(lì)管理--編輯頁面--增行事件
function Reward_Page_AddRow() {
func_AddRow("Emp_List");
}
// 獎(jiǎng)勵(lì)管理--編輯頁面--刪行事件
function Reward_Page_DelRow() {
func_DelRow("Emp_List");
}
// 獎(jiǎng)勵(lì)管理--編輯頁面--人員選擇
function Reward_Page_SelectEmp(_rowIndex, _colIndex) {
btnRowIndex = _rowIndex;
btnColIndex = _colIndex;
func_OpenPage(630, 445, "人員選擇", "Basis_EmpBaseInfo_BaseSelect.html", "Reward_Page_SetEmp()");
}
// 獎(jiǎng)勵(lì)管理--編輯頁面--人員回填
function Reward_Page_SetEmp(retXmlVal) {
var recXmlDoc = loadXML(retXmlVal);
if (!recXmlDoc) return;
// 編輯列表中的按鈕事件的實(shí)例
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++) {
// 根據(jù)綁定的字段名字轉(zhuǎn)換成小寫來獲取
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;
}
//#endregion
在web中生成:
在系統(tǒng)中查看此頁面: