因为有些字段的数据在录入的时候是选择出来的,不是录入进去的。如果DBGride解决不了,用什么来解决这个问题?谢谢大家。

解决方案 »

  1.   

    怎么修改dbgrid某列的picklist,是写sql语句吗?好像不太对啊!
      

  2.   

    不是用sql语句写,你选中dbgrid的column,然后直接在这个column的属性picklist中添加你预先写好的数据就可以了。
      

  3.   

    picklist里的数据可以从某个表里的某个字段读取吗?
    可以限制只能输入列表里的数据吗?
      

  4.   

    可以动态的往picklist里面加数据麻
      

  5.   

    可以用楼上的采用picklist的方法,也可以自己把ComboBox加入,方法如下:初始化combobox1的visible为falseprocedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
      if gdfocused in state then
      begin
        if column.FieldName='Zh' then//你要让combobox显示的那列的字段名
        begin
          form1.ComboBox1.Left:=rect.Left+form1.DBGrid1.Left;
          form1.ComboBox1.Top:=rect.Top+form1.DBGrid1.Top;
          form1.ComboBox1.Width:=rect.Right-rect.Left;
          form1.ComboBox1.Height:=rect.Bottom-rect.Top;
          form1.ComboBox1.Visible:=true;
        end;
      end;
    end;