请问利用dbgrideh控件能否实现此功能!
一个表table1,字段:no ,name.
一个表table2,字段:no1,name1,f1,f2,f3.
我想实现的是在dbgrideh中显示表table2的内容,其中name1的内容为在dbgrideh中第二列下拉列表框选取的结果(来源table1中的name).最好是当dbgrideh的第二列获得焦点时,输入no ,对应的name自动显示在框中,作为选中结果。
—————————————————————————————————————
先谢!问题解决立刻结贴!
一个表table1,字段:no ,name.
一个表table2,字段:no1,name1,f1,f2,f3.
我想实现的是在dbgrideh中显示表table2的内容,其中name1的内容为在dbgrideh中第二列下拉列表框选取的结果(来源table1中的name).最好是当dbgrideh的第二列获得焦点时,输入no ,对应的name自动显示在框中,作为选中结果。
—————————————————————————————————————
先谢!问题解决立刻结贴!
select table1.no ,table1.name,table2.no1,table2.name1,table2.f1,
table2.f2,table2.f3
from table1,table2
where .....
如果要调整字段显示的位置,在select后面的几个字段中排列,也就是说,你在select后是什么顺序,显示时就是什么顺序。
自己增加一个字段,为fkLookUP类型,试试看哟
麻烦你再讲清点,你的意思是实施在数据库呢?还是在控件?还是在程序中?请恕小鱼愚昧。说的详细些。最好有源码。
其中tquery用aonesky() 所說的方法就可以
select table2.no,table2.no1,table2.name1,table2.f1,
table2,table2
from table1,table2
where table1.no=table2.no
回复人: boy2002() :
我要的是在dbgrideh中第二列出现下拉列表框形如:combobox控件,选取点选结果来源于table1的名称。可以说是选取table1的name值作为table2的name1的值做插入。
procedure TForm1.FormCreate(Sender: TObject);
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;
谢谢!