我在FORM的Create事件中写入以下语句:
但是下拉列表框没有出来!
  with dm.ShareQuery do
  begin
    Close;
    SQL.Clear;
    SQL.Text:='select caizhi from caizhitable';
    Open;
    while not eof do
    begin
      DBGridEh2.Columns[1].PickList.Add(Fields[0].AsString);
      Next;
    end;
  end;
是不是还要设置什么属性?

解决方案 »

  1.   

    可以了Columns[1]列已经有PICKLIST值了,还有问题???
      

  2.   

    在工程中:program Project;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {dm: TDataModule};{$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TDataModule, dm); //这一行一定要放到下一行的前边,才能在TForm1.FormCreate中引用dm.
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.
      

  3.   


    看不到?问题应该不在这些代码!!!如果有执行FORM的Create中的所有代码,而查询的数据集不为空那DBGridEh2的Columns[1]就有列表框出现...
      

  4.   

    但没有下拉列表框
    加QQ吧
    我的QQ:258041655
      

  5.   

    回楼主,DBGRID要与数据集关联上才可以显示出picklist的值,呵.
      

  6.   

    DBGridEh2.Columns[1].ButtonStyle := cbsAuto;
      with dm.ShareQuery do
      begin
        Close;
        SQL.Clear;
        SQL.Text:='select caizhi from caizhitable';
        Open;
        while not eof do
        begin
          DBGridEh2.Columns[1].PickList.Add(Fields[0].AsString);
          Next;
        end;
      end;