You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何清空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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 02:22:33