如何方便的实现这个问题?(100分)

  • 主题发起人 主题发起人 minikiller
  • 开始时间 开始时间
M

minikiller

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库中有以下字段:
1 first
2 second
我想显示 first ,second ,当用户选择一个的时候,我可以取到相应的ID,
以前我用ListBox 显示,这样做比较麻烦,有没有好的组件,或好的方法
可以方便的根据用户的选择找到相应的ID
 
先LOCATE();
定位后再取ID,这样看对不对!
 
是在dbgrid 里选择吧,那就用
table属性selectfilds
 
with adoqry do
begin
close;
sql:='select id,first,second from table wherecondition';
open;
end;
id:=adoqry.fieldbyname('id').asstring;
values1:=dbgrid.datasourse.dataset.fieldvalues('first');
values2:=dbgrid.datasourse.dataset.fieldvalues('second');
...
...
 
我用ValueListEditor 实现以上功能,为什么删除的时候,会报错:
out of bound list!

procedure TForm1.ProcessPerson;
var
I: Integer;
begin
for I := 1 to ValueListEditor.RowCount-1 do // Iterate
begin
ValueListEditor.DeleteRow(1);
end; // for
ValueListEditor.Refresh ;
while not qrPerson.Eof do
begin
ValueListEditor.InsertRow(qrPerson.fieldbyName('PMCD60').AsString ,qrPerson.fieldbyName('DESC60').AsString,true);
qrPerson.Next;
end; // while
end;
 
for I := 1 to ValueListEditor.RowCount-1 do // Iterate
改成:while ValueListEditor.RowCount>1 do
 
就用ListBox,用AddObject添加,Objects取得
很麻烦么?
 
用ListBox.AddObject可行
 
后退
顶部