在form的oncreat事件是添加
//动态添加dbgrid的picklist值;
h:=0;
with AdoQuery2 do
begin
first ;
while not eof do
begin
DBGrid1.Columns[1].PickList.Add(FieldByName('机构名称').AsString);
inc(h);
next ;
end;
end;
//在DBGrid的colEnter事件写下如下代码,即可实现下拉列表
with DBGri1.selectedfield do
if (FieldName='field1') then //field1下拉显示FieldMc值
with adoquery1 do
begin
close;
sql.Clear ;
sql.Add('select distinct fieldmc from table1 ');//信息来源表
open;
if recordcount>0 then
begin
first;
with DBgrid1 do
for j:=1 to FieldCount do
if columns[j].FieldName ='fieldmc' then
begin
columns[j].PickList.Clear;
for i:=1 to recordcount do
begin
columns[j].PickList.Add(fieldbyname('fieldmc').value);
next;
end;
break;
end;
end;
close;
end;
动态给DBGrid的PickList赋值
=============================
放一个memo,假设另一张表用query2连接。
memo1.clear;
query2.Open;
query2.First;
while not query2.eof do
begin
memo1.Lines.AddStrings(query2['某个字段']);//必须是string型字段
query2.next;
end;