怎样才能做到在DBGRID的某一列中输入数值时,只能从PICKLIST中选择值,而不能自己输入?

解决方案 »

  1.   

    双击DBGRID后,在EDITING DBGRID.COLUMNS窗下增加一个字段,点击这个字段,在左边属性窗口选PICKLIST-->STRING ....-->加入你想要的字段OK
      

  2.   

    我说的可能不太清楚,我是想要PICKLIST中的值从另一个表的某个字段获取,而不是直接在PICKLIST-->STRING ...中加入,而且在DBGRID中输入时只能从PICKLIST中选择,就像comboBox的style属性设为csDropDownList一样。
      

  3.   

    你说的那样不是用picklist
    要用lookup 字段
      

  4.   

    ...
    我是想要PICKLIST中的值从另一个表的某个字段获取,而不是直接在PICKLIST-->STRING ...中加入,而且在DBGRID中输入时只能从PICKLIST中选择
    -----
    假设你所说的"另一个表'为table2 ,"某个字段为ff".你的picklist 所对应的字段为kk
    首先你放一个adoquery1 , sql.text:='select ff from table2'
    然后双击你dbgrid 所对应的adoquery,新建一字段,设为lookup 字段,
    keyfield 设为kk,dataset 设为adoquery1,lookup keys 设为ff,result field设为ff
    完了后,把这个新建的字段的lookupcache设为true
    把这个这段放到dbgrid 里,就OK了