- 5 简 化 数 据 录 入 页 面
你
是 否 愿 意 维 护 一 个 单 一 的 页 面 上 面 有 所 有 各 方 面 的 数 据
入 口 而 不 是维 护 若 干 页 面 而 每 个 页 面 都 有 类 似 的 标 签 组
文 本 框 和 按 钮 你 是 否 愿 意 把精 力 集 中 到 功 能 上 而 把 脚 本
编 程 的 细 节 和 多 个 对 象 模 型 留 给 Visual InterDev 处 理 ?
使
用 新 的 FormManage r 设 计 期 间 控 件 生 成 运 行 期 间 脚 本 你 可 以
建 立 多 用途 页 面 可 以 使 用 多 种 方 式 以 便 进 行 显 示 编 辑 和
把 记 录 加 到 你 的 数 据 库 中
取
代 为 你 自 己 的 HTML 格 式 编 写 脚 本 你 可 为 页 面 上 的 控 件 与
事 件 设 置FormManage r 句 柄 特 性 使 用 这 些 方 式 建 立 多 用 途 页
面 可 简 化 你 的 Web 应 用设 计
FormManage
r 控 件 使 得 数 据 录 入 页 面 的 创 建 变 得 快 速 而 简 单 从 而 维
护 也 变得 简 单 只 需 打 开 文 件 并 改 变 FormManage r 特 性 关 于 这
种 控 件 的 详 细 内 容参 见 第 三 章 数 据 库 基 础 中 的 建 立 事 件
驱 动 窗 体
Web 页面 上的 数据 绑定窗 体
为
完 成 数 据 录 入 任 务 这 种 页 面 要 有 两 种 模 式
-
**显
示 模 式** 提 供 一 种 记 录 的 只 读 视 图 这 也 是 打 开 页 面 时 使 用 的 一 种 模式
-
**编
辑 模 式** 允 许 用 户 进 入 并 保 存 改 变 记 录 增 加 记 录 和 删 除 记 录
为
使 例 子 简 单 这 个 页 面 显 示 每 个 记 录 的 很 少 几 段 在 真 正 的
应 用 中 按照 你 的 需 要 放 置 尽 量 多 的 段 从 而 实 现 你 的 构 想
数 据 绑 定 概 念 同 样 不 管 段 的数 目
在
创 建 数 据 录 入 页 面 之 前 要 保 证 已 经 具 备 下 列 项
你
还 可 以 使 用 这 些 控 件 创 建 HTML 页 面 要 了 解 详 细 内 容 参 见
第 二 十 四 章用 设 计 期 间 控 件 和 脚 本 对 象 编 写 脚 本 中 的 改
变 对 象 平 台 和 用 设 计 期
间
控 件 创 建 窗 体 两 节
你 准
备 好 之 后 就 可 以 把 数 据 录 入 控 件 和 方 式 加 到 你 的 ASP 页
面 上 步 骤 如
下
-
创 建 数 据 录 入 窗 体
-
用 格 式 方 式 简 化 脚 本 编 程
-
完 成 数 据 录 入 页 面
创 建 数 据 录 入 窗 体
你
可 以 使 用 数 据 绑 定 控 件 在 Web 页 面 上 建 立 一 种 窗 体 在 过 去
你 可 能 要使 用 HTML<FORM> 和 <INPUT> 标 记 但 是 使 用
Recordset
记 录 集
和 数 据 绑 定 控件 使 得 数 据 录 入 格 式 更 容 易 实 现 这 是 因 为
在 ASP 和 Internet Explorer 4.0 两 种 情 况 中 你 得 到 同 样 的 脚 本
编 程 对 象 模 型
把 Recordset 控 件 加 到 你 的 页 面 上
从 工 具 框 把 Recordset
记 录 集
控 件 拖 到 你 的 页 面 上 详 细 内 容 参见 第 三 章 数 据 库 基 础 中 的 显 示 记 录 一 节
注
意 : 为 对 象 模 型 编 写 脚 本 必 须 使 用 设 计 期 间 控 件
关
于 为 对 象 模 型 编 写 脚 本 的 详 细 内 容 参 见 第 二 十 四 章 用 设
计 期 间 控 件和 脚 本 对 象 编 写 脚 本
规 定 可 更 新 的 记 录 集 控 件
把
Recordset
记 录 集
控 件 拖 到 页 面 上 之 后 就 选 择 数 据 源 把 只 读 以 外的 任 何 事
情 都 设 置 为 锁 定 类 型
在
例 子 中 Recordset 控 件 使 用 Gallery 数 据 库 的 DEntry 表 而 这 种 数
据库 同 Visual Int erDev 实 例 一 起 提 供 安 装 了 Visual Int erDev 就
可 随 时 使 用所 使 用 的 锁 定 类 型 是 优 化 的 因 而 这 种 格 式 可
以 更 新 记 录
还
有 要 确 保 记 录 集 是 以 可 更 新 的 数 据 库 对 象 为 基 础 例 如 没
有 主 关 键字 的 视 图 或 没 有 专 门 索 引 的 视 图 都 是 不 可 更 新
的 不 管 选 择 的 光 标 类 型 如 何 关 于 更 新 记 录 和 指 定 记 录 集
方 面 的 详 细 内 容 参 见 第 二 十 章 修 改 数 据 关 于Gallery 的 更 多
内 容 参 见 Visual Int erDev 在 线 文 档
设 置 可 更 新 记 录 集 控 件
为 记 录 显 示 和 模 式 转 变 添 加 控 件
把
记 录 集 控 件 加 到 你 的 页 面 之 后 你 就 可 以 创 建 一 种 窗 体 用
于 显 示 你 希望 向 用 户 显 示 的 字 段 和 改 变 记 录
使
用 工 具 箱 中 的 设 计 期 间 控 件 你 可 以 迅 速 规 定 哪 些 记 录 集
段 出 现 在 页 面上 这 种 段 是 控 件 的 一 种 特 性 使 得 添 加 数 据
的 显 示 变 得 容 易 而 且 只 要 记 录集 中 的 段 不 改 变 维 护 也 十
分 简 单 关 于 使 用 数 据 绑 定 控 件 来 显 示 记 录 的 详 细内 容 参
见 第 三 章 数 据 库 基 础 中 的 显 示 记 录 一 节
为
了 完 成 页 面 的 可 视 设 计 要 添 加 文 本 并 赋 予 格 式 还 要 为 窗
体 (form) 提供 标 题 此 外 还 要 创 建 按 钮 行 为 此 要 在 页 面 上 添
加 一 个 表 格 把 按 钮 控 件拖 到 表 格 的 各 个 表 元 中
为
显 示 记 录 要 把 标 签 文 本 框 和 RecordSetN avBar 控 件 拖 到 页 面
上 在例 子 中 通 过 使 用 特 性 页 面 把 文 本 框 控 件 和 Checkbox 控
件 都 绑 定 到 记 录 集 上上 述 特 性 页 面 规 定 哪 个 段 的 控 件 要
显 示 出 来 对 于 这 个 页 面 上 各 个 控 件 的 所 有初 始 特 性 设 置
列 表 参 见 本 章 稍 后 的 完 成 数 据 录 入 页 面 部 分
由 数 据 绑 定 控 件 确 定 的 格 式 易 于 创 建 和 维 护
用 窗 体 模 式 简 化 脚 本 编 程
与
用 同 一 控 件 组 的 各 种 变 型 创 建 并 维 护 多 个 页 面 不 同
FormManage r 把 一 切都 放 到 一 个 页 面 上 这 个 页 面 可 以 处 理 多
个 任 务 并 且 容 易 维 护
使
用 FormManage r 控 件 你 可 以 为 你 的 窗 体 指 定 方 式 而 不 需 要 为
控 件 编写 脚 本 和 作 变 更 这 些 模 式 处 理 在 控 件 记 录 和 更 新
记 录 两 方 面 的 各 种 改 变
此
外 你 不 再 需 要 一 页 接 着 一 页 的 滚 动 去 寻 找 你 希 望 改 变
的 方 法 或 事 件
FormManage
r 特 性 对 话 框 把 所 有 特 性 变 化 和 页 面 事 件 处 理 都 汇 集 到
两 个 选 项 卡中
使
用 FormManage r 你 可 以 为 你 的 窗 体 规 定 模 式 而 不 用 为 控 件 和
变 更 编 写脚 本 当 然 如 果 有 面 向 用 户 的 功 能 你 还 可 以 在
FormManage r 控 件 中 引 用 这些 功 能 例 如 你 可 能 已 经 有 了 希 望
在 上 述 窗 体 中 使 用 的 有 效 功 能 你 可 以 使用 FormManage r 调 用
这 种 功 能 而 且 只 要 更 新 记 录 集 就 可 使 数 据 生 效
规 定
模 式 涉 及 到 三 个 主 要 概 念
-
标 识 每 种 模 式 在 模 式 激 活 时 为 控 件 规 定 特 性 设 置 和 方 法 在 数 据 录入 格 式 中 这 些 模 式 规 定 什 么 时 候 保 存 增 加 和 隐 蔽 删 除 按 钮 在 编辑 模 式 中 保 存 和 删 除 按 钮 被 显 示 出 来 而 增 加 按 钮 被 隐 蔽 起 来 在插 入 模 式 中 增 加 按 钮 将 显 示 出 来 而 保 存 按 钮 将 隐 蔽 起 来
-
规 定 转 变 事 件 这 些 事 件 引 起 模 式 变 化 或 触 发 特 殊 动 作 例 如 单 击
Edit
编 辑
按 钮 将 引 起 窗 体 从 显 示 模 式 转 变 成 编 辑 模 式
添 加 动 作 这 种 动 作 在 转 变 事 件 被 触 发 之 后 和 转 变 完 成 之 前 出 现 例如 单 击 Save
保 存
按 钮 不 仅 从 编 辑 模 式 转 换 到 显 示 模 式 而 且 按用 户 在 上 述 窗 体 中 完 成 的 改 变 更 新 记 录 集
为
把 显 示 模 式 和 编 辑 模 式 添 加 到 数 据 录 入 格 式 中 要 完 成
下 列 步 骤
规 定 模 式
1
. 打 开 或 创 建 一 个 ASP 页 面 这 个 页 面 上 有 显 示 记 录 的 控 件
也 有 转 换 模式 的 按 钮
提
示 : 添 加 模 式 之 前 要 确 保 你 对 窗 体 拥 有 所 需 要 的 全 部
控 件 例 如 你 可能 需 要 添 加 按 钮 例 如 变 成 编 辑 方 式 的 Edit
按 钮 和 在 该 方 式 中 触 发转 变 事 件 的 Save
保 存
按 钮
如
果 你 决 定 添 加 更 多 控 件 过 一 会 儿 你 可 以 这 样 做 但 是 添
加 控 件 要 在 添加 模 式 之 前 以 便 使 得 这 些 控 件 为 FormManage
r 控 件 做 好 准 备 这 种 情 况也 适 应 于 你 希 望 在 页 面 上 为 之
编 写 脚 本 的 功 能 和 方 法
从 工 具 框 添 加 FormManage r 控 件 在 编 辑 器 中 用 右 键 单 击 FormManage r
从 而
显 示 其 特 性 页 面
标
识 你 希 望 的 模 式 并 为 每 种 模 式 标 识 控 件 设 置
显 示 模 式 编 辑 模 式
对 两 种 模 式 及 其 控 件 设 置 的 项 目
在 Form Mode 选 项 卡 中 为 你 已 经 标 识 的 每 种 模 式 添 加 新 模 式
对
每 种 模 式 规 定 特 性 设 置 也 为 在 Form Mod e 选 项 卡 中 的 显 示 控 件 和 窗体 模 式 规 定 调 用 方 法
注
意 : 对 于 你 希 望 为 控 件 设 置 的 每 个 特 性 都 要 在
Property/V alue 格 中 添 加一 行 例 如 如 果 你 希 望 btnNew 按 钮 可
见 但 是 对 模 式 是 非 开 启 的 就在 一 行 中 把 非 开 启 特 性 设 置
为 真 在 另 一 行 中 规 定 Show() 方 法 如 果希 望 调 用 你 希 望 创
建 的 功 能 可 以 把 Object
对 象
栏 保 持 空 着 在Member 栏 中 键 入 功 能 名 字 并 在 Value 栏 中 随
便 键 入 参 数 一 定 要 保证 参 数 放 到 圆 括 号 中
提
示 : 为 保 证 窗 体 合 适 对 每 种 模 式 都 要 设 置 特 性 和 方 法
Web 环 境 是 缺 乏稳 定 性 的 因 而 对 控 件 的 设 置 可 能 意 外 地
遗 留 给 下 一 个 模 式 例 如对 那 种 在 指 定 模 式 期 间 应 当 是 不
可 见 的 控 件 规 定 Hide() 方 法 对 应 当是 可 见 的 控 件 规 定
Show() 方 法 如 果 在 每 种 模 式 中 对 每 种 可 见 元 素 没
规
定 Hide()方 法 或 Show() 方 法 则 按 钮 或 文 本 框 可 能 是 可 见 的
也 可能 是 隐 蔽 的 这 取 决 于 在 前 一 个 模 式 中 对 这 些 控 件 规
定 的 设 置
对
于 这 种 窗 体 模 式 设 置 完 整 列 表 参 见 本 章 后 边 的 完 成 数 据
录 入 页 面一 节
对 模 式 规 定 特 性 设 置 和 方 法 调 用
注
意 : 要 保 证 关 闭 的 特 性 是 固 有 的 设 置 如 果 希 望 使 控 件
开 启 其 关 闭 特 性就 需 要 是 假 这 些 值 同 情 况 密 切 相 关 设 置
稍 不 留 心 就 会 搞 反
此
外 要 使 一 个 控 件 是 可 见 的 或 隐 蔽 的 就 要 使 用 Show() 和
Hide() 方 法在 服 务 器 把 HTML 发 送 给 Web 浏 览 器 的 时 候 将 把 它
们 转 变 成 相 应 的 标 记 和 属 性
在
Action 选 项 卡 中 对 窗 体 上 的 每 个 模 式 按 钮 设 置 转 变 事 件 要 了 解 对 这种 窗 体 动 作 设 置 的 完 整 列 表 参 见 本 章 后 边 的 完 成 数 据 录 入 页 面
例
如 在 单 击 Edit 按 钮 时 该 窗 体 就 从 显 示 模 式 转 换 成 编 辑 模
式 不 用 其它 脚 本 编 程 该 模 式 就 按 照 在 Form Mode 选 项 卡 中 的
规 定 决 定 改 变 控 件 的 特 性
Edit
编 辑
按 钮 触 发 转 换 到 下 个 模 式
在
显 示 模 式 中 编 辑 按 钮 只 规 定 一 种 新 模 式 是 激 活 的 不 要 求
其 它 动 作
某
些 转 变 事 件 要 求 一 些 动 作 以 便 完 成 由 模 式 企 图 完 成 的
整 个 任 务
如
果 需 要 就 标 识 并 规 定 一 些 在 该 事 件 和 下 个 模 式 之 间 要 完 成 的 动 作
例
如 在 编 辑 模 式 中 在 单 击 Cancel
取 消
按 钮 时 在 转 换 到 显 示 模 式 之前 应 当 忽 略 出 现 的 改 变 在 单
击 Save
保 存
按 钮 时 在 转 换 到 显 示 模 式 之 前应 当 更 新 记 录 集
更 新 记 录 集 控 件
在
两 种 模 式 之 间 进 行 转 变 和 动 作 的 流 程 图在 Action 选 项 卡
中 按 下 图 所 示 规 定 这 些 动 作
动 作 在
事 件 发 生 之 后 在 模 式 转 换 即 将 发 生 之 前 出 现
8 选
择 Close
关 闭
注
意 : 如 果 你 把 控 件 / 用 户 定 义 的 功 能 添 加 到 页 面 上 要
保 证 把 它 们 结 合 到 使用 FormManage r 控 件 的 模 式 中
完 成 数 据 录 入 页 面
现
在 你 已 经 了 解 了 FormManage r 控 件 的 基 本 用 法 因 而 你 可 以 为
数 据 录 入页 面 规 定 方 法 和 动 作 你 可 以 使 用 下 边 的 步 骤 进
行 其 它 设 置 完 成 数 据 录 入 页面
-
对 窗 体 上 的 控 件 进 行 初 始 特 性 设 置
-
对 控 件 完 成 模 式 设 置
-
完 成 模 式 转 变 和 动 作
对 控 件 进 行 初 始 特 性 设 置
你 可 以 在 窗 体 的 控 件 特 性 页 面 上 General 选 项 卡 中 对 控 件 进 行 初 始 特 性 设
置
对 一 个 按 钮 进 行 特 性 设 置 的 示 例
下 边 表
格 中 给 出 在 添 加 模 式 之 前 在 窗 体 上 用 于 控 件 的 特 性 设 置
记 录 控 件 初 始 设 置
Recordset 由 Visual Int erDev 实 例 所 使 用 的 到 Gallery 数 据
库 的 连 接
Database o bject=DEntry table
Lock type= Optimistic 或 Batch opti mistic
Label 1 Inl b 1 可 见
Text box 1 Idtxt 非 开 启
只 读
可 见
Label2 Fna melb 1 可 见
Text box 2 Fnametxt 非 开 启
只 读
可 见
Label 3 Ln amelb 1 可 见
Text box 3 Lnametxt 非 开 启
只 读
可 见
Label 4 PC chk 可 见
RecordSetN
avBar 可 见 设 置 为 recordsetd tc 1
窗 体 模 式 的 控 件 初 始 设 置
Display Bu tton Name=Displ aybtn Caption=Di splay Visible=tr ue
Disabled=t rue
Edit Butto n Name=Editb tn Caption=Ed it Visible=tr ue
Disabled=f alse
Save Butto n Name=Saveb tn
Caption=Sa ve Record Visible=fa lse
Disabled=f alse
续 表
New Button Name=Newbt n Caption=Ne w Visible=tr ue
Disabled=f alse
Delete But ton Name=Delet ebtn Caption=De lete Visible=tr ue
Disabled=f alse
Cancel But ton Name=Cance lbtn Caption=Ca ncel Visible=fa lse Disabled=f alse
完 成 控 件 的 模 式 设 置
你 可 以
通 过 把 Propert y/Value( 特 性 / 值 ) 对 添 加 到 Form Mode 选 项 卡 中
的办 法 对 数 据 录 入 窗 体 完 成 模 式 设 置
使
用 FormManage r 控 件 的 Form Mode 选 项 卡 来 指 定 模 式下 表 列 出
为 完 成 数 据 录 入 页 面 所 需 的 特 性 / 值 对 的 全 部 设 置
记 录 显 示 控 件 显 示 状 态 编 辑 状 态
Text box3
Label 4
Text box 4
RecordSetN avBar
Show()
Disabled=t rue
Show()
Show()
Disabled=t rue Show()
Show()
Disabled=f alse
Show()
Show()
Disabled=f alse Hide()
记 录 显 示 控 件 显 示 状 态 编 辑 状 态
Display Bu tton Edit Butto n
Show()
Disabled=t rue Show()
Disabled=f alse
Show()
Disabled=f alse Show()
Disabled=t rue
记 录 显 示 控 件 显 示 状 态 编 辑 状 态
Save Butto n
Insert But ton Add Button
Cancel But ton Delete But ton
模 式 转 变 和 动 作
Hide()
Disabled=t rue Hide()
Disabled=t rue Hide()
Disabled=t rue Hide()
Disabled=t rue Hide()
Disabled=t rue
Hide()
Disabled=f alse Hide()
Disabled=f alse Hide()
Disabled=f alse Hide()
Disabled=f alse Hide()
Disabled=f alse
你
可 以 对 数 据 录 入 窗 体 完 成 转 变 和 动 作 设 置 办 法 是 标 识 在
不 同 方 式 之 间你 希 望 用 于 触 发 转 换 的 事 件 还 要 标 识 在 转
换 完 成 之 前 出 现 的 动 作
使 用 FormManage r 控 . 件 的 Action
动 作
选 项 卡 规 定 转 变 和 动 作
下
表 列 出 在 FormManage r 控 件 的 Action 选 项 卡 中 两 个 面 板 的 设
置 切记 模 式 本 身 规 定 了 显 示 控 件 的 特 性 和 方 法 下 列 设 置
规 定 了 用 于 触 发 进 入 下个 模 式 之 前 必 须 完 成 的 模 式 和 动
作
当 前 模 式 对 象 与 事 件 下 个 模 式 按 钮 动 作