请问如何在程序中自己控制dbgrid某列的下拉列表内容?比如在dbgrid的'成本对象'列下拉菜单中添加
'部门数据'表中的所有部门名称?
dbgrid中的picklist好像无法在程序运行时随机控制下拉条的内容,只能在一开始填写固定的几条
如果dbgrid的不能实现,别的控件行吗?比如dbgrideh ,请详细说明,谢谢

解决方案 »

  1.   

    在dbgrid的oncellclick事件中写代码:
    with TAdoQuery.create(nil) do
    begin
      connection:=adoconnection1;
      sql.text:='select distinct 部门名称 from 部门数据';
      open;
      while not eof do
      begin
        picklist.items.add(fields[0].asstring);
        next;
      end;
      close;
      free;
    end;
      

  2.   

    用 DBGridEh 3.3以上的 控件!!!
      

  3.   

    with dm.TAdoQuery do
    begin
      sql.text:='select distinct 部门名称 from 部门数据';
      open;
      while not eof do
      begin
        picklist.items.add(fields[0].asstring);
        next;
      end;
      close;
      free;
    end;