- 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 选 项 卡 中 两 个 面 板 的 设 置 切记 模 式 本 身 规 定 了 显 示 控 件 的 特 性 和 方 法 下 列 设 置 规 定 了 用 于 触 发 进 入 下个 模 式 之 前 必 须 完 成 的 模 式 和 动 作
当 前 模 式 对 象 与 事 件 下 个 模 式 按 钮 动 作