Cum de a goli complet tabelul StringGrid
Necesitatea de a șterge tabelul StringGrid apare de multe ori în cursul programului. Dar, din păcate, printre metodele de componente Delphi StringGrid off metoda StringGrid îndepărtarea completă a tabelului găzduit anterior în conținutul celulei.
Prin urmare, este necesar să se utilizeze o purificare consistentă de programare a celulelor, una după alta, sau utilizarea unor metode de purificare StringGrid componente încorporate în rânduri sau coloane selectate.
componenta StringGrid constă în obiecte, cum ar fi coloane:
StringGrid1.Cols [Index: Integer]: TStrings;
StringGrid1.Rows [Index: Integer]: TStrings;
Aceste obiecte, spre deosebire de întreaga masă, metodele sale sunt complet curate:
// Sterge coloana cu index i
StringGrid1.Cols [i] .Clear;
// Șterge linia cu indicele j
StringGrid1.Rows [j] .Clear;
Folosind aceste tehnici, acesta este modul complet curata tabelul StringGrid:
Celulele de coloane StringGrid suprafață tabel fix conține adesea numele sau numărul de linii. Dacă doriți să le păstrați, este necesar să se efectueze ciclul nu este de la 0 și de la StringGrid1.FixedCols:
Procedura TForm1.ClearTable;
începe
cu StringGrid1 do
pentru i: = FixedCols la ColCount-1 do
Cols [i] .Clear;
se încheie;
Procedeul de mai sus folosește purificarea coloanei de serie. Prin același rezultat va aduce linii curate:
Procedura TForm1.ClearTable;
începe
cu StringGrid1 do
pentru i: = 0 până la ROWCOUNT-1 do
Rânduri [i] .Clear;
se încheie;
Dacă este necesar să se păstreze conținutul zonei de linii celulare fixe, bucla ar trebui să fie efectuată nu de la 0, ci de FixedRows.
Dacă este necesară curățarea tabel StringGrid prin stocarea conținutului celulelor de-a lungul zonei fixe ca coloane și rânduri pot fi purificate înainte de a păstra conținutul lor, și apoi înapoi în loc. Sau pur și simplu clar o celulă la un moment dat, folosind două bucle imbricate:
Procedura TForm1.ClearTable;
i var, j: Integer; începe
cu StringGrid1 do
pentru i: = FixedCols la ColCount-1 do
pentru j: = FixedRows la ROWCOUNT-1 do
Celulele [i, j]: = '';
se încheie;
Această procedură simplă va șterge StringGrid de masă, lăsând intacte toate zonele de masă fixă a celulei.