我正在尝试执行:
Form3.StringGrid1.Cells[0,Form3.StringGrid1.RowCount] := 'Hoofdstad';
执行后:
Onderdelen := Form3.StringGrid1.RowCount;
Form3.StringGrid1.RowCount := Onderdelen + 1;
每次都会出错,它会说我正在尝试更改不存在的单元格的文本(尚)。我对这门语言还是很陌生,希望有人能帮助我。
我正在尝试执行:
Form3.StringGrid1.Cells[0,Form3.StringGrid1.RowCount] := 'Hoofdstad';
执行后:
Onderdelen := Form3.StringGrid1.RowCount;
Form3.StringGrid1.RowCount := Onderdelen + 1;
每次都会出错,它会说我正在尝试更改不存在的单元格的文本(尚)。我对这门语言还是很陌生,希望有人能帮助我。
该Cells
属性使用从 0 开始的索引。第一行的索引为 0,最后一行的索引为RowCount-1
。添加新行时,会RowCount
增加,但最后一行的索引仍然是RowCount-1
.
因此,当您尝试使用此功能时:
Form3.StringGrid1.Cells[0,Form3.StringGrid1.RowCount] := 'Hoofdstad';
你要出界了,因为Form3.StringGrid1.RowCount
1 太高了。您需要改用它:
Onderdelen := Form3.StringGrid1.RowCount;
Form3.StringGrid1.RowCount := Onderdelen + 1;
Form3.StringGrid1.Cells[0, Form3.StringGrid1.RowCount - 1] := 'Hoofdstad';
或者,由于Onderdelen
已经包含正确的索引值:
Onderdelen := Form3.StringGrid1.RowCount;
Form3.StringGrid1.RowCount := Onderdelen + 1;
Form3.StringGrid1.Cells[0, Onderdelen] := 'Hoofdstad';