procedure Tbrowse.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); var tablename:string; begin setFieldList(tablename); //为ComBox_Field建立下拉列表选项 ComBox_Field.Text:=StringGrid1.Cells[ACol,ARow]; StringGrid1.Cells[ACol,ARow]:=ComBox_Field.Text; ComBox_Field.SetFocus; end; end;procedure Tbrowse.SetFieldList(tablename:string;); var Qry_temp:Tquery; ls_test:String; //SQL语句 begin with Qry_temp do begin Close; SQL.Clear; ls_test:='select * from '+ls_TableName; SQL.Add(ls_test); Open; first; end; ComBox_Field.Style:=csDropDown; ComBox_Field.Clear; ComBox_Field.Visible:=true; /////////注意把要显示的列放在表中的第一列 while not Qry_temp.eof do begin ComBox_Field.Items.Add(Qry_temp.Fields[0].asstring); Qry_temp.Next ; end; finally qry_temp.Destroy; end; end;
ARow: Integer; var CanSelect: Boolean);
var
tablename:string;
begin
setFieldList(tablename); //为ComBox_Field建立下拉列表选项
ComBox_Field.Text:=StringGrid1.Cells[ACol,ARow];
StringGrid1.Cells[ACol,ARow]:=ComBox_Field.Text;
ComBox_Field.SetFocus;
end;
end;procedure Tbrowse.SetFieldList(tablename:string;);
var Qry_temp:Tquery;
ls_test:String; //SQL语句
begin
with Qry_temp do
begin
Close;
SQL.Clear;
ls_test:='select * from '+ls_TableName;
SQL.Add(ls_test);
Open;
first;
end;
ComBox_Field.Style:=csDropDown;
ComBox_Field.Clear;
ComBox_Field.Visible:=true;
/////////注意把要显示的列放在表中的第一列
while not Qry_temp.eof do
begin
ComBox_Field.Items.Add(Qry_temp.Fields[0].asstring);
Qry_temp.Next ;
end;
finally
qry_temp.Destroy;
end;
end;