Добавить строки в StringGrid с переменными в качестве данных ячейки? - PullRequest
0 голосов
/ 29 января 2019

У меня есть форма с двумя компонентами TEdit.В другой форме я хотел бы добавить в TStringGrid строку с данными из двух TEdits.Как мне это сделать?

Это то, что у меня так далеко:

procedure TSecondForm.StartButtonClick(Sender: TObject);
begin
  string1 := Edit1.Text;
  string2 := Edit2.Text;

  MainForm.StringGrid1.RowCount := MainForm.StringGrid1.RowCount + 1; // this adds the rows, but I don't know how to make it so that the two variables are inputed into two seperate cells
end;                      

1 Ответ

0 голосов
/ 29 января 2019

В Delphi и FreePascal / Lazarus вы можете использовать свойство TStringGrid.Cells после увеличения RowCount, например:

procedure TSecondForm.StartButtonClick(Sender: TObject);
var
  string1, string2: string;
  row: integer;
begin
  string1 := Edit1.Text;
  string2 := Edit2.Text;

  row := MainForm.StringGrid1.RowCount;
  MainForm.StringGrid1.RowCount := row + 1;
  MainForm.StringGrid1.Cells[0, row] := string1;
  MainForm.StringGrid1.Cells[1, row] := string2;
end;

Только в FreePascal / Lazarus вы можетевместо этого используйте метод TStringGrid.InsertRowWithValues() вместо:

procedure TSecondForm.StartButtonClick(Sender: TObject);
var
  string1, string2: string;
begin
  string1 := Edit1.Text;
  string2 := Edit2.Text;

  MainForm.StringGrid1.InsertRowWithValues(MainForm.StringGrid1.RowCount, [string1, string2]);
end;
...