如何在stringgird中指定某列回车后将当前编辑的值,转到edit1.text中去,如下:
With StringGrid1 do
Edit1.Text := Cells[0,2];
我想要的是在第一列中,编辑后回车得到的值给edit1.text,也就是在第一中最后编辑的格
With StringGrid1 do
Edit1.Text := Cells[0,2];
我想要的是在第一列中,编辑后回车得到的值给edit1.text,也就是在第一中最后编辑的格
var
vRect: TRect;
begin
if (StringGrid1.Col=1) then
begin
vRect := StringGrid1.CellRect(StringGrid1.Col,StringGrid1.Row);
Edit1.Top := StringGrid1.Top + vRect.Top+1;
Edit1.Width := vRect.Right-vRect.Left;
Edit1.Height := vRect.Bottom - vRect.Top ;
Edit1.Left := StringGrid1.left + vRect.Left + 1;
Edit1.Text := StringGrid1.Cells[StringGrid1.Col,StringGrid1.Row];
Edit1.Visible := true;
Edit1.SetFocus;
end;
end;procedure TForm1.Edit1Change(Sender: TObject);
begin
StringGrid1.Cells[StringGrid1.Col,StringGrid1.Row] := Edit1.Text;
end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then Edit2.Text := edit1.Text;
end;
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
if StringGrid1.Col=1 then
begin
Edit2.Text := Stringgrid1.Cells[StringGrid1.Col,StringGrid1.Row];
end;
end;
end;