如何清空TStringGrid中的所有行与列?
如何清空Delphi StringGrid的所有行和列
错误原因说明
- 你遇到的
E2129 Cannot assign to a read-only property错误,是因为ColumnCount和RowCount在部分Delphi版本中属于只读属性,无法直接赋值为0。 E2029 '[' expected but '.' found错误,是因为Columns和Rows是索引集合,不能直接调用.Clear方法,必须通过索引操作。
正确清空方法
1. 清空所有列
通过循环从最后一列开始删除,这种方式兼容所有Delphi版本:
while GridRawData.ColCount > 0 do GridRawData.DeleteCol(GridRawData.ColCount - 1);
2. 清空所有行
- 如果需要清空包括固定行的所有行:
while GridRawData.RowCount > 0 do GridRawData.DeleteRow(GridRawData.RowCount - 1);
- 如果需要保留固定行(比如设置了
FixedRows=1作为表头):
while GridRawData.RowCount > GridRawData.FixedRows do GridRawData.DeleteRow(GridRawData.RowCount - 1);
执行完以上操作后,StringGrid的现有内容就会被完全清除,你可以存入新的数据了。
内容的提问来源于stack exchange,提问作者user31362432
相关产品推荐
相关产品推荐

