我們使用StringGrid時,經常需要清空所有單元格的內容,我使用的方法如下:
grdFileList->RowCount=1; //設置總行數,有一行標題行
for (irow=0; irow < OpenDialog1->Files->Count; irow++) //這個例子是將對話框中選擇的文件放到GRID中
{
grdFileList->RowCount++; //總行數增加
grdFileList->Rows[irow+1]->Clear(); //清空當前行所有單元格內容
grdFileList->Cells[0][irow+1] = ""; //第0列一般為選擇列標記
grdFileList->Cells[1][irow+1] = ExtractFileName(OpenDialog1->Files->Strings[irow]); //文件名
grdFileList->Cells[2][irow+1] = OpenDialog1->Files->Strings[irow]; //含路徑文件名
....
....
}
if (grdFileList->RowCount>1)
grdFileList->FixedRows = 1; //第一行為固定標題行,將其變為灰色
結論:這樣子設計程序,就會保證新增加的每一行都是最新的或空白內容。
注意:若僅使用 grdFileList->RowCount=1;則行數變多時,會顯示舊的內容。
其它:以上在C++ Builder6/C++ Builder 2009中調試。