请问如何实现"查找字段在DBGrid中的应用"?
在一个窗体中加入1个DataSource控件、2个ADOTable控件、1个DBGrid控件、1个DBNavigator控件和1个ADOQuery控件,查询结果显示在DBGrid中,请问如何在DBGrid中实现查找字段?
在一个窗体中加入1个DataSource控件、2个ADOTable控件、1个DBGrid控件、1个DBNavigator控件和1个ADOQuery控件,查询结果显示在DBGrid中,请问如何在DBGrid中实现查找字段?
DBGrid->DBDataShource1->AdoQuery1->AdoConnection1
AdoQuery2->AdoConnection1表结构
table1{
id1
Name2
}table2{
id2
Name2
}比如你想在dbgrid中显示table1 然后在dbgrid的name1字段中出现下拉列表
Adoquery1.sql.text:='select * from table1';
adoquery2.sql.text:='select * from table2';
然后设置adoquery1和adoquery2的active:=true;
双击adoquery1
在出现的窗口中右键单击,选择添加所有字段,再单击右键,选择'new field'在出现的对话筐中:
name;为这个查找字段取名字 比如叫AAA
type: AAA的类型 这里为string
size: AAA的大小
field type: 这里选择lookup
key fields: 选择table1的关键字段
Dataset: adoquery2
LookUp Key: table2的关键字段
Result Field: 查找的参考字段 这里添 Name2结果是: 运行后 dbgrid中显示table1中的内容, 点击name字段的格子 出现一个下拉列表
列表中显示table2.name2的值
把你的adotable和表2关联
双击adoquery1
在出现的窗口中右键单击,选择添加所有字段,再单击右键,选择'new field'在出现的对话筐中:
name;为这个查找字段取名字 比如叫AAA
type: AAA的类型 这里为string
size: AAA的大小
field type: 这里选择lookup
key fields: 选择table1的关键字段
Dataset: adotable
lookUp Key: table2的关键字段
Result Field: 查找的参考字段 这里添 Name2
如果是KeyFields = 'name'呢?就是说id的值不是通过name的下拉菜单来改的,name的下拉菜单是改name自己的值。你能做到吗?