编程资料集中营
 | 网站首页 | 文章中心 | 编程资料2 | 软件下载 | BT下载 | 八卦星闻 | 音乐在线 | 在线游戏 | 免费电影 | 进入问吧 | 
Delphi3的DBGrid中的下拉列表和查找字段编程方法,数据网格是非常流行的数据输入和显示形式,像大家熟悉的Excel97、VFP中的功能强大的BROWS等,为广大程序员乐于采用。在用Delphi3开发数据库应用系统时,利用数据网格DBGrid输入数据时,有些字段只允许某几个固定的字符串,像档案案卷的保管期限,只有“永久”、“长期”和“短期”三种,可否从一个下拉列表中进行选择,从而方便输入和避免输入错误呢?还有一,
您现在的位置: 编程资料,学习资料,c,c++,vc,vc++,java,jsp,j2ee,j2me,asp,php >> 文章中心 >> delphi >> 文章正文
【字体:
Delphi3的DBGrid中的下拉列表和查找字段编程方法   进入问吧

本站地址:http://www.bajiao123.com

作者:佚名    文章来源:不详    点击数:    更新时间:2007-8-1    

Delphi3的DBGrid中的下拉列表和查找字段编程方法

  数 据 网 格 是 非 常 流 行 的 数 据 输 入 和 显 示 形 式, 像 大 家 熟 悉 的Excel97、VFP 中 的 功 能 强 大 的BROWS 等, 为 广 大 程 序 员 乐 于 采 用。 在 用Delphi3 开 发 数 据 库 应 用 系 统 时, 利 用 数 据 网 格DBGrid 输 入 数 据 时, 有 些 字 段 只 允 许 某 几 个 固 定 的 字 符 串, 像 档 案 案 卷 的 保 管 期 限, 只 有“ 永 久”、“ 长 期” 和“ 短 期” 三 种, 可 否 从 一 个 下 拉 列 表 中 进 行 选 择, 从 而 方 便 输 入 和 避 免 输 入 错 误 呢 ? 还 有 一 些 字 段, 例 如 职 工 信 息 库 中 的 单 位 编 号( 在 另 外 的 单 位 库 中 保 存 着 单 位 的 详 细 信 息), 在 输 入 和 显 示 职 工 数 据 时, 能 否 不 对 单 位 编 号 进 行 操 作, 而 代 之 于 更 加 直 观 的 单 位 库 中 的 单 位 名 称 呢 ? 答 案 是 肯 定 的,Delphi3 的 数 据 网 格 控 件DBGrid, 支 持 下 拉 列 表 和 查 找 字 段 的 编 程, 而 且, 编 程 的 过 程 都 是 可 视 化 的, 不 需 要 写 一 行 语 句。

一、DBGrid 中 的 下 拉 列 表

  在DBGrid 网 格 中 实 现 下 拉 列 表, 设 置 好DBGrid 中 该 字 段 的PickList 字 符 串 列 表、 初 始 的 序 号 值DropDownRows 即 可。 以 职 工 信 息 库 中 的 籍 贯 字 段( 字 符 串 类 型) 为 例, 具 体 设 计 步 骤 如 下:

  1、 在 窗 体 上 放 置Table1、DataSource1、DBGrid1、DBNavigator1 等 控 件 对 象, 按 下 表 设 置 各 个 对 象 的 属 性:

---------------------------------------
对象      属性      设定值
---------------------------------------
Table1    DataBase    sy1
       Table     zgk.dbf //职工信息库
DataSource1 DataSet    Table1
DbGrid1    DataSource  DataSource1
DBNavigator1 DataSource  Datasource1
-------------------------------------------

  2、 双 击Table1, 在 弹 出 的Form1.Table1 窗 口 中, 用 右 键 弹 出 快 捷 菜 单, 单 击Add Fields 菜 单 项; 选 择 所 有 的 字 段 后, 按OK 按 钮。

  3、 修 改 第2 步 新 增 字 段 的DisplayLabel 属 性。 以Table1ZGBH 字 段 为 例, 在Object Inspector 窗 口 中 选 择Table1ZGBH, 修 改 属 性DisplayLabel= 职 工 编 号, 其 余 字 段 类 似。

  4、 双 击DBGrid1, 在 弹 出 的Editing DBGrid1.Columns 窗 口 中, 单 击Add all Fields 按 钮, 增 加Table1 的 所 有 字 段。

  5、 在Editing DBGrid1.Columns 窗 口, 选 择jg 这 一 行, 切 换 到Object Inspector 窗 口, 修 改 它 的PickList.Strings 为“ 湖 北 枝 江 市( 换 行) 北 京 市( 换 行) 河 南 平 顶 山 市( 换 行) 浙 江 德 清 市”

  6、 在Form1.Oncreate 事 件 中 写 入 语 句:

  Table1.Open;

  7、F9 运 行, 用 鼠 标 点 击 某 个 记 录 的 籍 贯 字 段, 右 边 即 出 现 一 个 按 钮, 点 击 这 个 按 钮, 可 出 现 一 个 下 拉 列 表, 包 含 第5 步 中 输 入 的 四 行 字 符 串, 可 用 鼠 标 进 行 选 择。 当 然 也 可 以 自 行 输 入 一 个 并 不 属 下 拉 列 表 中 的 字 符 串。

二、DBGrid 中 的 查 找 字 段

  所 谓 查 找 字 段(LookUp Field), 即DBGrid 中 的 某 个 关 键 字 段 的 数 值 来 源 于 另 外 一 个 数 据 库 的 相 应 字 段。 运 用 查 找 字 段 技 术, 不 仅 可 以 有 效 的 避 免 输 入 错 误, 而 且DBGrid 的 显 示 方 式 更 为 灵 活, 可 以 不 显 示 关 键 字 段, 而 显 示 源 数 据 库 中 相 对 应 的 另 外 一 个 字 段 的 数 据。

  例 如, 我 们 在DBGrid 中 显 示 和 编 辑 职 工 信 息, 包 括 职 工 编 号、 职 工 姓 名、 籍 贯、 所 在 单 位 编 号, 而 单 位 编 号 来 源 于 另 一 个 数 据 库 表 格 — — 单 位 库, 称“ 单 位 编 号” 为 关 键 字 段。 如 果 我 们 直 接 显 示 和 编 辑 单 位 编 号 的 话, 将 会 面 对1、2、3 等 非 常 不 直 观 的 数 字, 编 辑 时 极 易 出 错。 但 是 如 果 显 示 和 编 辑 的 是 单 位 库 中 对 应 的 单 位 名 称 话, 将 非 常 直 观。 这 就 是DBGrid 的 所 支 持 的 查 找 字 段 带 来 的 好 处。

  实 现DBGrid 的 查 找 字 段 同 样 不 需 要 任 何 语 句, 具 体 设 计 步 骤 如 下:

  1、 在 窗 体 上 放 置Table1、Table2、DataSource1、DBGrid1、DBNavigator1 等 控 件 对 象, 按 下 表 设 置 各 个 对 象 的 属 性:

---------------------------------------
对象     属性     设定值
---------------------------------------
Table1    DataBase   sy1
       Table    zgk.dbf //职工信息库
Table2    DataBase   sy1
       Table    dwk.dbf //单位信息库
DataSource1 DataSet   Table1
DbGrid1    DataSource  DataSource1
DBNavigator1 DataSource  Datasource1
------------------------------------------

  2、 双 击Table1, 在 弹 出 的Form1.Table1 窗 口 中, 用 右 键 弹 出 快 捷 菜 单, 单 击Add Fields 菜 单 项; 选 择 所 有 的 字 段 后, 按OK 按 钮。

  3、 修 改 第2 步 新 增 字 段 的DisplayLabel 属 性。 以Table1ZGBH 字 段 为 例, 在Object Inspector 窗 口 中 选 择Table1ZGBH, 修 改 属 性DisplayLabel= 职 工 编 号, 其 余 字 段 类 似。

  4、 设 置Table1DWBH.Visible=False。

  5、 在Form1.Table1 窗 口, 用 右 键 弹 出 快 捷 菜 单, 单 击New Field 菜 单 项, 新

[1] [2] 下一页

   

进入问吧

本站地址:http://www.bajiao123.com

文章录入:admin    责任编辑:admin 
编程资料集中营