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

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

我们的网址:www.sdpsoft.com

QQ:136846796 电话:15050176512

1、建立数据源

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

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

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

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

新建一张页面配置其信息

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

脚本引用:test.js

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

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

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

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

生成出来的页面:

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

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

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

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

保存事件: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 = "<sql><![CDATA[" + encodeURI(_runStrSql) + "]]></sql>";

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;

}

//#endregion

在web中生成:

在系统中查看此页面:

时间: 2024-11-08 23:32:25

如何快速的10分钟制作一张主从表单及功能的相关文章

10分钟制作自己的手机QQ

1.注册个bmob.cn的账号:什么是bmob?bmob就是一个提供了基本后台服务器数据库操作的一个平台,你可以不用担心后台操作,使用起来很方便,降低了开发的门槛,提高了开发效率. 2.创建应用: 这个简单,只需要输入个应用名称就可以了! 3.点击应用名称进入设置界面 4.建议直接下载官方的DEMO源码,然后在这个基础上改改即可,下载地址 5.开发工具当然要安装的,详细看安装教程: Android开发之旅:环境搭建及HelloWorld ,聪明的你应该不会之难而退的. 6.导入源码到开发工具Ec

CSS3制作美丽的3D表单

<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>CSS3制作3D表单</title> <style type="text/css"> body{ background-color:#f7f0da; background-image: -webkit-linear-gr

CSS3制作漂亮的3D表单

<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>CSS3制作3D表单</title> <style type="text/css"> body{ background-color:#f7f0da; background-image: -webkit-linear-gr

AJAX练习(一):制作可以自动校验的表单(从原理上分析ajax的作用)

继上文(AJAX(一)AJAX的简介和基础)作为联系. 传统网页在注册时检测用户名是否被占用,传统的校验显然缓慢笨拙. 当ajax出现后,这种体验有了很大的改观,因为在用户填写表单时,签名的表单项已经发送给了服务器,然后根据用户填写好的内容进行数据查询.在查询号无需页面刷新就自动给了提示.类似这样的应用大大的提高了用户的体验,本节简单介绍自动校验表单制作方法.从原理上分析ajax的作用. 1.搭建框架 首先为html框架 <form name="register"> <

10分钟制作UWP汉堡菜单

什么是汉堡菜单? 汉堡菜单,指的是一个可以弹出和收回的侧边栏.在UWP和Android应用中,汉堡菜单都非常常见. 首先我们列出所有需要掌握的前置知识: 1,SplitView 2,StackPanel 3,ListBox 3,TextBlock 4,RelativePanel 6,Button 7,Grid ============================== 首先,我们来分割主页面,将其分为两块. 1 <Grid.RowDefinitions> 2 <RowDefinitio

安卓10分钟制作自己的手机QQ(即时通信)

1.注册个bmob.cn的账号:什么是bmob?bmob就是一个提供了基本后台服务器数据库操作的一个平台,你可以不用担心后台操作,使用起来很方便,降低了开发的门槛,提高了开发效率. 2.创建应用: 这个简单,只需要输入个应用名称就可以了! 3.点击应用名称进入设置界面 4.建议直接下载官方的DEMO源码,然后在这个基础上改改即可,下载地址 5.开发工具当然要安装的,详细看安装教程: Android开发之旅:环境搭建及HelloWorld ,聪明的你应该不会之难而退的. 6.导入源码到开发工具Ec

10个强大的Javascript表单验证插件推荐

创建一个JavaScript表单验证插件,可以说是一个繁琐的过程,涉及到初期设计.开发与测试等等环节.实际上一个优秀的程序员不仅是技术高手,也应该是善假于外物的.本文介绍了10个不错的JavaScript表单验证插件,使用它们完全可以节省你的时间!希望你喜欢. 1. validate.js Validate.js是一个非常不错的JavaScript表单验证库,源于CodeIgniter API.该库相当轻巧(不到1KB),不要求任何JavaScript框架,可以在所有主流浏览器中运行(包括IE

[Swift通天遁地]二、表格表单-(8)快速实现表单的输入验证

本文将演示如何快速实现表单是输入验证. 首先确保在项目中已经安装了所需的第三方库. 点击[Podfile],查看安装配置文件. 1 platform :ios, '12.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://github.com/CocoaPods/Specs.git' 6 pod 'SwiftValidator', :git => 'https://github.com/jpotts18/SwiftVali

ExtJS4.2学习(16)制作表单(转)

鸣谢:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-12-10/188.html ---------------------------------------------------------------------------------------- 一.我们来制作一个简单的表单: 代码: /** * ExtJS之制作表单——第一个表单 */ Ext.onReady(function(){ var f