在动态给combobox赋值时出错。
请各位指教。谢谢。
For i:=2 to 21 Do
Begin
With TCombobox(FindComponent('combobox'+Inttostr(i))) Do
Begin
Items.Clear;
End;
End;
With QAddMt Do
Begin
Close;
Sql.Clear;
Sql.Add('Select * from Material');
Open;
SNo:=FieldByName('Mt_No').AsString;
While Not Eof Do
Begin
For j:=2 To 21 Do
Begin
With TCombobox(FindComponent('combobox'+InttoStr(i))) Do
Begin
Items.Add(SNo);//循环取出值给SNo,此句报错
End;
End;
Next;
End;
End;
请各位指教。谢谢。
For i:=2 to 21 Do
Begin
With TCombobox(FindComponent('combobox'+Inttostr(i))) Do
Begin
Items.Clear;
End;
End;
With QAddMt Do
Begin
Close;
Sql.Clear;
Sql.Add('Select * from Material');
Open;
SNo:=FieldByName('Mt_No').AsString;
While Not Eof Do
Begin
For j:=2 To 21 Do
Begin
With TCombobox(FindComponent('combobox'+InttoStr(i))) Do
Begin
Items.Add(SNo);//循环取出值给SNo,此句报错
End;
End;
Next;
End;
End;
procedure TForm1.btn1Click(Sender: TObject);
var
//QAddMT:TAdoQuery;
Comp:TComponent;
I, J:Integer;
SNO:string;
begin
Comp:=nil;
for I:=0 to ComponentCount-1 do begin
Comp:=FindComponent('Combobox'+inttostr(I));
if (Comp<>nil) and (Comp is TComboBox) then begin
With Comp As TComboBox Do Begin
Items.Clear;
End;
end;
With QAddMt Do Begin
Close;
Sql.Clear;
Sql.Add('Select * from Material');
Open;
SNo:=FieldByName('Mt_No').AsString;
While Not Eof Do Begin
For j:=0 to ComponentCount-1 Do begin
Comp:=nil;
if (Comp<>nil) and (Comp is TComboBox) then begin
With Comp As TComboBox Do begin
Items.Add(SNo);
End;
end;
End;
Next;
End;
End;
end;
end;end.
Begin
With TCombobox(Self.FindComponent('combobox'+Inttostr(i))) Do //加Self 即父名
Begin
Items.Clear;
End;
End;
With QAddMt Do
Begin
Close;
Sql.Clear;
Sql.Add('Select * from Material');
Open;
SNo:=FieldByName('Mt_No').AsString;
While Not Eof Do
Begin
For j:=2 To 21 Do
Begin
With TCombobox(Self.FindComponent('combobox'+InttoStr(i))) Do //加Self,即父名
Begin
Items.Add(SNo);//循环取出值给SNo,此句报错
End;
End;
Next;
End;
End;