AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Suche ein StringGrid das wie eine ListBox behandelt wird
Thema durchsuchen
Ansicht
Themen-Optionen

Suche ein StringGrid das wie eine ListBox behandelt wird

Ein Thema von Jackie1983 · begonnen am 3. Okt 2007 · letzter Beitrag vom 4. Okt 2007
Antwort Antwort
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#1

Suche ein StringGrid das wie eine ListBox behandelt wird

  Alt 3. Okt 2007, 20:21
hi,

bin auf der suche nach einem StringGrid die wie eine ListBox arbeitet.
z.b
Add(DatenArray : array of String); //Je nachdem wie viele spalten
Delete(zeile : integer);
IndexOfObject() etc

Schwer zu erklären.
Eingentlich eine Listbox mit mehrer Spalten.
Gibt es sowas?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Suche ein StringGrid das wie eine ListBox behandelt wird

  Alt 3. Okt 2007, 22:27
Hi Jackie,

mit dem StringGrid kannst auch du glücklich werden, wenn du statt dem "array of string" eine StringList nimmst:

AppendRow(StringGrid).Assign(ListBox.Items); AppendRow() findest du in der Unit GridUtils.

Gute Nacht
  Mit Zitat antworten Zitat
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#3

Re: Suche ein StringGrid das wie eine ListBox behandelt wird

  Alt 3. Okt 2007, 22:58
aber es gibt kein Funktionen wie
indexofobject(spalte);
oder
Delete(zeile)
  Mit Zitat antworten Zitat
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#4

Re: Suche ein StringGrid das wie eine ListBox behandelt wird

  Alt 4. Okt 2007, 00:09
Was spricht gegen ein TListView?
Christian
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Suche ein StringGrid das wie eine ListBox behandelt wird

  Alt 4. Okt 2007, 07:46
Guten Morgen

Zitat von Jackie1983:
aber es gibt kein Funktionen wie indexofobject(spalte); oder Delete(zeile)
es wird dein Mangel an Programmiererfahrung sein, dass du DeleteRow nicht als Analogie zu Delete(Zeile) erkennst. Bei deiner Suche nach IndexOfObject(spalte) musst du wissen, dass beim StringGrid jeder Zelle ein Object zugeordnet werden kann. Wenn du nur ein Object je Spalte benötigst, dann nimm die Zelle mit dem Index 0:

Delphi-Quellcode:
with StringGrid do
begin
  Objects[iCol, 0] := Pointer(42);
  idx := Rows[0].IndexOfObject(Pointer(42));
  ShowMessage(BoolToStr(idx = iCol));
end;
// Getippt und nicht getestet
Ich habe beim Verlinken der Unit GridUtils offenbar eine ältere Fassung erwischt. Da ich den Beitrag mit der neuesten Fassung selbst nicht lokalisieren kann, hänge ich die Unit nochmal an.

Zitat von Cyberbob:
Was spricht gegen ein TListView?
Die ListView ist kein genereller Ersatz für ein StringGrid. Sie ist vornehmlich als Kernbaustein des Windows Explorers mit W95 eingeführt und seither stetig weiterentwickelt worden. Das StringGrid hingegen ist die Implementierung einer Sparse Matrix. Dabei handelt es sich um einen abstrakten Datentyp, der speziell auf die Verwaltung dünn besiedelter Matrizen ausgelegt ist. Als generellen Ersatz würde ich eher den VirtualTreeView von Mike Lischke sehen, aber den kann ich keinem Programmieranfänger empfehlen.

Freundliche Grüße
Angehängte Dateien
Dateityp: pas gridutils_197.pas (4,5 KB, 12x aufgerufen)
  Mit Zitat antworten Zitat
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#6

Re: Suche ein StringGrid das wie eine ListBox behandelt wird

  Alt 4. Okt 2007, 10:29
danke. Werde mich mal damit beschäftigen.

thx
  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 23:22 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