AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Zeilenbereich aus einer StringGrid entfernen
Thema durchsuchen
Ansicht
Themen-Optionen

Zeilenbereich aus einer StringGrid entfernen

Ein Thema von paulus11 · begonnen am 1. Mär 2010 · letzter Beitrag vom 2. Mär 2010
Antwort Antwort
paulus11

Registriert seit: 20. Feb 2010
8 Beiträge
 
#1

Zeilenbereich aus einer StringGrid entfernen

  Alt 1. Mär 2010, 17:53
Hallo liebe Delphianer,

ich habe ein klitzekleines Problem mit meiner StringGrid, das wie folgt aussieht:

In meiner StringGrid befinden sich verschiedene Einträge, die in der ersten Spalte nummeriert sind. (siehe Anhang)
Jetzt möchte ich, dass es für den Benutzer möglich ist, einzelne Zeilen aus der StringGrid zulöschen.
Da ich aber gerne die Nummerrierung in der 1. Spalte der einzelnen Datensätze beibehalten möchte, sollen nur die Informationen hinter der Nummer z.B. "2" (in der 2. Zeile) gelöscht werden und automatisch die Einträge hinter der Nummer z.B. "3" (in der 3. Zeile) hinter die Nummer 2 "rutschen". Die Nummer "3" soll dann natürlich verschwinden, da hinter ihr kein Eintrag steht.

--> Veranschaulicht ist das auch noch einmal im Anhang

Ich weiß nicht ob das ein sehr schwieriges Unterfangen ist, was ich mir da ausgedacht habe, aber ich wollte einfach mal anfragen, ob mir dort jemand vllt. einen Ansatz geben könnte, um das Problem zu lösen.

Herzlichsten Dank schon einmal im voraus.
Miniaturansicht angehängter Grafiken
anhang_189.jpg  
  Mit Zitat antworten Zitat
paulus11

Registriert seit: 20. Feb 2010
8 Beiträge
 
#2

Re: Zeilenbereich aus einer StringGrid entfernen

  Alt 2. Mär 2010, 18:37
Hat keiner einen kleinen Tipp für mich, oder habe ich mein Problem zu kompliziert erklärt?:/
Würde mich wirklich über jede kleine Hilfe riesig freuen!
  Mit Zitat antworten Zitat
Salazriel

Registriert seit: 13. Feb 2010
33 Beiträge
 
#3

Re: Zeilenbereich aus einer StringGrid entfernen

  Alt 2. Mär 2010, 18:49
Der Textinhalt der 1.Spalte ist ja immer die Nummer der entsprechenden Zeile, also
StringGrid1.cells[0,ZeilenNummer]:=IntToStr(ZeilenNummer+1); //da von 0..rowcount-1 Und die OH gibt

StringGrid1.rows[NummerDerLöschZeile].clear zum löschen, sowie

StringGrid1.rows[NummerDerLöschZeile-1]:=StringGrid1.rows[NummerDerLöschZeile]; zum kopieren her. (Musst dann aber noch StringGrid1.cells[1,ZeilenNummer] aktualisieren)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#4

Re: Zeilenbereich aus einer StringGrid entfernen

  Alt 2. Mär 2010, 18:55
zwei schleifen

- einmal i+1 bis Zeilenanzahl-1 (Y)
- und Spalte 1 bis Spaltenanzahl-1 (X)

i = zu löschende Zeile

Und dabei kopierst du die Inhalte jeweiles um eine Zeile nach oben, ab der Zeile unter/nach der zu löschenden Zeile.

Kopiert wird alles außer der ersten Spalte, somit bleibt diese Nummerierung erhalten.
Oder du kopierst alles und baust dann die Nummerierung neu auf.

Nach dem Kopieren wird dann die letze Zeile entfernt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
henk

Registriert seit: 3. Okt 2008
14 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

Re: Zeilenbereich aus einer StringGrid entfernen

  Alt 2. Mär 2010, 19:03
hm, wenn ich dich richtig verstanden habe, würde ich einfach neu nummerieren....


vielleicht hilft dir das:

Delphi-Quellcode:

//--------prozedur für zeilennummern aktualisieren -----------------------------
procedure tform2.stringgridRowNumber (stringgrid: tstringgrid);
var
i: integer;
begin
  For i := 0 to StringGrid.rowCount - 1 do
  StringGrid.Cells[0,i]:= inttostr(i); // zeilennumern anzeigen
  StringGrid.Cells[0,0]:= inttostr(StringGrid.rowCount - 1)// zeilensumme anzeigen

end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz