如何实现在DBGrid控键中的一个字段具有下拉列表框,下拉列表框使和我所建的另一个表相连(我用的使ADO组键)。要用语句写成动态的连接,这个问题我已经想了好几天了,谢谢各位大侠帮忙,如有有例子更好,分不够再加
解决方案 »
- 用DELPHI模拟LED屏下的那种文字特效怎么做啊?
- 点登录按钮可以实现登录,想输入密码后按回车键也可实际,怎么办?
- delphi函数
- 江湖救急!请教 OleContainer,中取得 大2近制 Stream数据 怎么保存的数据库
- ??????????????????????????????????????????????
- 大家来总结下Delphi开发环境中实用的快捷键,散分!!!
- 请教如何实现单文件的分块多线程传输?(文件太大!)
- 关于线程结束的问题
- 如何使用带有query访问数据库的线程?急需代码
- 一个简单问题,请问哪里能找到delphi中server里头的组件使用书或者说明文件
- 程序拿到非中文XP下运行时,文字显示为"???",怎么办?
- 怎样根据对方的IP地址获取其机器名?
dbgrid1.Columns[2].PickList.append(ADOTABLE.FIELDBYNAME('BH').ASSTRIING)
dbgrid1.Columns[2].PickList.append(ADOTABLE.FIELDBYNAME('BH').ASSTRIING)
dbgrid1.Columns[2].PickList.append(ADOTABLE.FIELDBYNAME('BH').ASSTRIING)
begin
dbgrid1.Columns[4].PickList.append(ADODatabase1.FieldByName('bm').AsString);
adoquery1.next;
end;
利用lookup ,可以实现的
dbgrid1.Columns[第几个字段].PickList.append(ADOTABLE.FIELDBYNAME('字段名').ASSTRIING)
用PICKLIST:
dbgrid1.Columns[第几个字段].PickList.append(ADOTABLE.FIELDBYNAME('字段名').ASSTRIING)
用PICKLIST:
dbgrid1.Columns[第几个字段].PickList.append(ADOTABLE.FIELDBYNAME('字段名').ASSTRIING)
一定行的,你试试。OK
begin
dbgrid1.Columns[4].PickList.append(ADODatabase1.FieldByName('bm').AsString);
adoquery1.next;
end;
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;
添加Lookup字段也可以实现同样的效果,
不过Lookup是针对query(Adoquery)实现的
鼠标双击query(adoquery),鼠标单击右键,
New Field设置Field type=Lookup
然后设置相关属性即可!