请问在DBGrid中,如何在一个表格中显示行数据.?

解决方案 »

  1.   

    dbgrid.dataset:=adoquery
    or dbgrid.dataset:=adotable
    adoquery / adotable .active:=true;
    当然adoquery / adotable必须连上数据库
      

  2.   

    我的意思是说,如何在每个单元格内显示多行数据,往上添加combox吗?或者有更好的方法。请赐教。
      

  3.   

    两种办法:
     一是添加一Combox控件  二是通过编程picklist实现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 菜 单 项, 新 增 一 个 查 找 字 段DWMC, 在 弹 出 的 窗 口 设 置 相 应 的 属 性, 按OK 按 钮 确 认; 在Object Inspector 窗 口, 设 置Table1DWMC.DisplayLabel= 单 位 名 称。 ---- 6、 在Form1.Oncreate 事 件 中 写 入 语 句: ---- Table1.Open; ---- 7、 按F9 运 行, 当 光 标 移 至 某 个 记 录 的 单 位 名 称 字 段 时, 用 鼠 标 点 击 该 字 段, 即 出 现 一 个 下 拉 列 表, 点 击 右 边 的 下 箭 头, 可 在 下 拉 列 表 中 进 行 选 择。 在 这 里 可 以 看 出, 下 拉 列 表 的 内 容 来 自 于 单 位 信 息 库, 并 且 不 能 输 入 其 他 内 容。 三、DBGrid 中 的 下 拉 列 表 和 查 找 字 段 的 区 别
    ---- 虽 然DBGrid 中 的 下 拉 列 表 和 查 找 字 段, 都 是 以 下 拉 列 表 的 形 式 出 现 的, 但 两 者 有 很 大 的 差 别。 
    ---- 1、 用PickList 属 性 设 置 的 下 拉 列 表, 它 的 数 据 是 手 工 输 入 的, 虽 然 也 可 以 在 程 序 中 修 改, 但 动 态 特 性 显 然 不 如 直 接 由 另 外 数 据 库 表 格 提 取 数 据 的 查 找 字 段。 ---- 2、 用PickList 属 性 设 置 的 下 拉 列 表, 允 许 输 入 不 属 于 下 拉 列 表 中 的 数 据, 但 查 找 字 段 中 只 能 输 入 源 数 据 库 中 关 键 字 段 中 的 数 据, 这 样 更 能 保 证 数 据 的 完 整 性。 ---- 3、 用PickList 属 性 设 置 的 下 拉 列 表 设 计 较 为 简 单。 
      

  4.   

    用picklist属性它是一个tstring类型通过add方法能添加:)