把DBGrid里的字段的buttonstyle设置为cbsAuto,在PickList里写下拉选项,就搞定了~~

解决方案 »

  1.   

    一、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 步 中 输 入 的 四 行 字 符 串,
     可 用 鼠 标 进 行 选 择。 当 然 也 可 以 自 行 输 入 一 个 并 不 属 下 拉 列 表 中 的 字
     符 串。 
      

  2.   

    多谢Bob7946(X度空间) 
    另请问我的数据库里有个字段是布尔型的, 我想在DBGird显示时为Y或N,请问怎样做呢?
    我在数据库里设过几种格式了,但在DBGird 都是显示为True和False
      

  3.   

    如果你用的是Query控件添加字段后,字段有一个ValueFormat(好像是)属性
    指定为: Y;N 就可以了
      

  4.   

    根据数据的不同直接画在上面。
    column.Grid.Canvas.TextRect
      

  5.   

    单击Table1控件右键,在edit fields中增加一个字段,把它设置为lookup型,然后在dbgrid中的为此字段设置即可.
      

  6.   

    Gongshl(阿单) 我用的是adoquery,好像没有这个属性;
    当我想保存时,我在字段的settext里写如果DBGrid是'Y'就字段的为true,但不行请问怎样做呢?
      

  7.   

    1、先设定adoquery的sql语句,并把active设为true
    2、双击adoquery控件,在出现的框中点右击,选择Add all Fields
    3、选择你想设置的字段,将DisplayFormat设为:Y:N
    再试一下
      

  8.   

    谢谢Gongshl(阿单)你的帮忙,不过不是DisplayFormat而是DisplayValues,是用分号的, 
    还有请问我保存时由于这个值是Y和N,而我的字段是布尔型,只能输入TRUE 和FALSE,我在字段的SETTEXT里定判断,但不行,请问怎么办呢?
      

  9.   

    是我记错了,不好意思
    你是想在DBGrid中直接编辑吗,可能不能输入其它的字符
    我也没试过
      

  10.   

    to gaden007(斌):小弟我还是不会使用属性DisplayValues,望赐教!!!
      

  11.   

    DisplayValues只能用于显示,而不能用于编辑
      

  12.   

    对DisplayValues只能用于显示,不能用于编辑的,我在DBGrid的栏位里加了一个下拉框,
    只有Y和N两个选择,但由于这个这段是布尔型的,所以只能输入TRUE和FALSE,请问有什么办法
    可以转换呢?
      

  13.   

    我搞定了,在DataSource的UpdateData里面写就可以了