Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - StringGrid und Zeile löschen


Chrisman1 - Fr 06.12.02 03:14
Titel: StringGrid und Zeile löschen
OK ich hab folgendes Problem. Ich moechte eine StringGrid verwenden in der ich über eine Eingabemaste Daten eingebe, welche dann in der StringGrid erscheinen. Notwendige Sachen sind dabei hinzufügen, löschen, ändern,

für löschen nutze ich folgenden code

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
//Löschen von Einträgen
procedure Teinstellungen.deleteRow(rowNr : Word; StringGrid1 : TStringGrid);
var
i : word;
begin
with StringGrid1 do
   begin
      Row := rowNr;
      if (Row = RowCount -1) then
          begin
          // Falls letzte Zeile
              RowCount := Grid.RowCount - 1;
          end
      else
         begin
            for i := rowNr to RowCount-1 do
               begin
                  Rows[i] := Rows[i+1]; //nichtletzte Zeile
                  RowCount := RowCount-1
               end;
         end;
   end;
end;


mein problem ist ich möchte das er die letzte Zeile quasi meine überschriftenzeilen icht löscht. er macht es aber indem er aus grau weiss macht wenn ihr versteht was ich meine. vorher hab ich da halt die einträge zb 'Nr', 'Name' im grauen Feld und nach dem löschen sind sie weiss. wie kann ich das unterbinden`??

ich weiss das es tausende tutz und einträge dazu gibt aber ich hab schon fast alles versucht....

thx 4 help

chrisman[/quote]


Keldorn - Fr 06.12.02 09:20

Hallo,

bau noch eine Überprüfung ein: wenn Rowcount=2 dann lösche nicht die Zeile, sondern überschreib die Zellinhalte dieser Zeile mit ''.
Wenn Du eine Überschriftzeile hast (Fixedrow) darfts du rowcount nicht kleiner als 2 setzen.

Mfg Frank


Chrisman1 - Mo 09.12.02 02:41

Danke für die Antwort. Habs nun hinbekommen!!!

THX