我的是这样的:一个Adoconnection1,adoquery1,adoquery2,datasource1,datasource1.dataset:=query1,dbgrid.datasource:=datasource1,在dbgrid一列中有个“职称“,我想用下拉选择(选择的范围在adoquery2中,adoquery2.sql.text:="select 职称 from table1").这个应该怎么做?谢谢!!
dbgrid1的职称列的Buttonstyle设为cbsAuto 在编辑该列之前的某个事件中: while not adoquery2.eof do begin dbgrid1.'职称列'.PickList.add(adoquery2.fieldbyName('职称').asstring); adoquery2.next; end;
query2.close; query2.SQL.add('select distinct 职称 from table1'); query2.open; query2.first; while not adoquery2.eof do begin dbgrid1.'职称列'.PickList.add(adoquery2.fieldbyName('职称').asstring); adoquery2.next; end;
with query do begin close; sql.clear; sql.add('select distinct 职称 from table1'); open; first; while eof do begin dbgrid1.fields[3].picklist.add(adoquery2.fieldbyName('职称').asstring); end; end;
dbgridEh
在编辑该列之前的某个事件中:
while not adoquery2.eof do
begin
dbgrid1.'职称列'.PickList.add(adoquery2.fieldbyName('职称').asstring);
adoquery2.next;
end;
query2.SQL.add('select distinct 职称 from table1');
query2.open;
query2.first;
while not adoquery2.eof do
begin
dbgrid1.'职称列'.PickList.add(adoquery2.fieldbyName('职称').asstring);
adoquery2.next;
end;
begin
close;
sql.clear;
sql.add('select distinct 职称 from table1');
open;
first;
while eof do
begin
dbgrid1.fields[3].picklist.add(adoquery2.fieldbyName('职称').asstring);
end;
end;