有两个表table1和table2 :adotable
table1的字段:
no name area unit
数据源:datas1table2的字段:
name_id name_name
数据源:datas2记录的添加方式是在dbgrid1中实现。
依次添加,记录添加到table1中。
点击dbgrid1 中name标题下的空白框时,出现下拉列表框。其值为table2的name_name的所有值。不点选的情况下,记录默认为table2的第一记录。本人为新手,请不吝赐教。
table1的字段:
no name area unit
数据源:datas1table2的字段:
name_id name_name
数据源:datas2记录的添加方式是在dbgrid1中实现。
依次添加,记录添加到table1中。
点击dbgrid1 中name标题下的空白框时,出现下拉列表框。其值为table2的name_name的所有值。不点选的情况下,记录默认为table2的第一记录。本人为新手,请不吝赐教。
解决方案 »
- SUIPack.v6.2非试用版无提示信息 界面增强组件包 )免费提供了,想要的顶了!
- 祝大家新年快乐,放分!(3)
- 请问大家用Delphi哪个版本啊?
- 大家帮我看看怎么写入数据库?
- 在数据库后台设计的约束,在前台显示时,触发异常,怎么捕捉呀,
- 各位大哥,在三层模式中如何运用handlereconcileerror函数返回应用服务器传来的错误信息?
- 我想在程序中记录一些备注信息,并把其记录到文本文件中,如何做?谢谢
- 用控件的方法add(addchild)等中用到pchar,string等变量,控件free时是否会释放掉该变量?
- 用TClientSocket 和TServerSocket 传输大量数据丢包现象
- 一个表有很多字段设置成 not null,如何在tabl1.post 之前检测到dbeditx.text <>''?
- 请问怎么对虚拟目录编程?我按“虚拟目录”来搜索,结果是网页没找到!
- delphi里的dbgrid能实现行的拖动吗?
var
i:integer;
a:TStringList;
begin
a:=TStringList.Create;
table2.Open;
for i:=0 to table2.RecordCount-1 do
begin
a.Add(table2.FieldValues['name_name']);
table2.Next;
end;
dbgrid1.Columns[1].PickList:=a;
a.Free;
end;
请问设为哪个?cbsAuto、cbsEllipsis 还是 cbsNone?
然后在oncreate 或 onshow 加入inf的代码!
我试过可以了
不过感谢回复。
请问PickList能否有首先默认的值呢?一定要选择吗?
begin
query1.Close;
query1.sql.clear;
query1.SQL.Add('select distinct name_name as a ');
query1.SQL.Add('from table2') ;
query1.SQL.Add('order by name_name ');
query1.Open ;
Table1.Active:=true;
while not query1.eof do
begin dbgrid1.Columns[1].PickList:=a;
query1.Next;
end;end;