| | |
| | |
Developer/2000 是ORACLE 公 司 推 出 的 集 成 化 软 件 开 发 和 运 行 环 境。 它 主 要 包 括3 个 集 成 化 应 用 开 发 工 具:Forms( 数 据 表 格 生 成 工 具)、 Reports( 数 据 统 计 及 报 表 生 成 工 具)、Graphics( 数 据 图 形 生 成 工 具) 。 笔 者 在 项 目 开 发 中 曾 以Developer/2000 作 为 前 台 开 发 工 具, 本 文 将 ---- 在 开 发 应 用 中, 经 常 用 到List_Item 控 件, 此 控 件 是 列 表 框, 可 以 让 用 户 在 多 个 备 选 值 中 进 行 选 择。 列 表 框 的 加 载 有 两 种 方 式 ---- 1 . 固 定 式。 即 列 表 框 中 的 数 据 是 固 定 的。 这 种 方 式 比 较 简 单, 无 需 编 程 既 可 实 现。 假 设 有 一 个List_Item 控 件, 且 命 名 为 List1, 如 图1 所 示。 在List1 的 属 性List elements 中 填 加 要 选 择 的 数 据 项, 即 可 达 到 目 的。 当 开 发 人 员 对 数 据 库 较 熟 悉 或 数 据 库 表 中 的 ---- 2 . 动 态 式。 即 列 表 框 中 的 值 会 随 着 数 据 库 表 中 数 据 项 的 变 化 而 变 化。 此 种 方 式 的 通 用 性 较 强, 可 以 满 足 用 户 的 需 要。 在 实 际 应 用 中, 较 常 用 的 是 此 种 通 用 性 的 方 式。 本 文 将 举 一 个 实 例 ---- 假 设 有 一 个 产 品 销 售 数 据 表SALES, 并 含 有 时 间(Time), 产 品 名 称(Name), 销 售 量(Amount) 三 个 字 段, 如 表1 所 示。 时 间 产 品 名 称 销 售 量 1997 彩 电 100 1998 彩 电 120 1997 冰 箱 90 1998 冰 箱 80 1997 空 调 110 1998 空 调 130 表1 ---- 为 了 分 析 需 要, 现 要 求 用 列 表 框 把 所 有 产 品 的 名 称 显 示 出 来。 我 们 建 立 一 个 过 程pl, 并 用 游 标 来 实 现 此 功 能。 过 程pl 的 程 序 PROCEDURE pl IS cursor c1 is select name from sales; cnt number; i number; tname sales.name%type; BEGIN clear_list('list1'); open c1; select count(distinct name) into cnt from sales; for i in 1..cnt loop fetch c1 into tname; add_list_element('list1',i,tname,tname);
end loop; delete_list_element('list1',cnt+1); close c1; END; ---- 在Forms 中 设 置WHEN_NEW_FORM_INSTANCE 触 发 器 并 调 用 此 过 程, 即 完 成 了 此 工 作。 其 结 果 显 示 如 图2 所 示。
| |
|
|
| |
| |
|