![]() |
Listview weitere Daten die nicht in der Liste sichtbar sind
Hallo Leutz,
in meiner ListView stehen mehrere Daten wie Titel, Kategorie u.s.w. Nun möchte ich gerne zu der eine Spalte zusätzliche Informationen wie z.B. Datum, Name u.s.w. einfügen die aber nicht in der ListView sichtbar sind. Eine Möglichkeit fiele mir ein, wenn ich für die zusätzliche Informationen einfach weitere Spalten erstellen würde und dessen width auf Null setzen würde. Würde sicher funktionieren, nur kann man die "unsichtbaren" Spalten auch mit der Maus wieder vergrössern und sichtbar machen. Welche Möglichkeiten bzw Tricks gibts den noch dazu ? Ich sties mal auf den Hinweis das beim ListView etwas mit "Data" gibt, nur finde ich keine ausreichende Informationen in der OH. Ausserdem kann dieses auch nur einen Wert verwenden oder ? Danke schon mal für die Antworten. |
Re: Listview weitere Daten die nicht in der Liste sichtbar s
Gib´s nicht eine "Visible"-Eigenschaft bei der List-View bzw. den Spalten? Ich erinnere mich dunkel, dass der Windows Explorer auch nicht alles anzeigt, dass aber bspw. unter XP im Kachel-Modus gewisse Daten angezeigt werden, die ja aus den anderen LV-Spalten (Detailansicht) stammen. Ich weiß das, weil ich mich schon bei nonVCL mit dem Kachelmodus beschäftigt habe.
|
Re: Listview weitere Daten die nicht in der Liste sichtbar s
Leider hab en die Column die Eigenschaft Visible nicht, sonst hätte ich das ja anwenden können :( sowas wäre wirklich ideal ...
|
Re: Listview weitere Daten die nicht in der Liste sichtbar s
Data ist einfach ein Pointer. Da kannst du ein Object oder einen Record ablegen, das/der dann "unendlich" weitere Informationen beinhalten kann.
|
Re: Listview weitere Daten die nicht in der Liste sichtbar s
Ich hatte mich noch nicht mit Record beschäftigt. Ist das zu vergleichen wie mit ein Array ? Welches man mehrere Werte aufnehmen kann ?
|
Re: Listview weitere Daten die nicht in der Liste sichtbar s
Sorry ich nochmals ...
Könnte mir jemand ein Beispiel zeigen wie ich in einer Data (Listview) einen String und einen DateTimePicker.Date speichern kann ? Wäre sehr dankbar. Nein das sind nicht für meine Hausaufgaben, bin da schon längst aus dem Alter //Edit: Bzw wo ich danach schauen könnte. (Link) |
Re: Listview weitere Daten die nicht in der Liste sichtbar s
Hallo
such mal im Forum nach ![]() Zitat:
ich glaub dir nicht, das man mit 33 noch nicht über records gestolpert ist :mrgreen: Mfg Frank |
Re: Listview weitere Daten die nicht in der Liste sichtbar s
Liste der Anhänge anzeigen (Anzahl: 1)
Hai Darty,
ich habe da ein Demo mit einer Listbox. Das sollte zeigen um was es geht :stupid: |
Re: Listview weitere Daten die nicht in der Liste sichtbar s
Danke für den Beispiel der funktioniert auch.
Nun hatte ich es für meinen Programm abgeändert. Aber irgendwie bekomme ich es nicht so hin wie ich es möchte. :wall: :wall: Hier nur mal ein kleiner Auszug aus dem Code. Dein BeispielCode setzt denke ich voraus das es neu eingefügt wird oder ? Oder muss ich bei der ListView Erstellung schon etwas beachten weil ich 7 Columns schon vorher erzeugt habe?
Delphi-Quellcode:
procedure TStatus_Form.Button1Click(Sender: TObject);
var Data: TMyData; begin If RadioGroup1.ItemIndex = 0 then begin Haupt_Form.ListView1.ItemFocused.SubItems[1] := 'ok'; // Ab hier versuche ich Dein Beispiel einzubringen. Try data := TmyData.Create; // Objekt erzeugen Except data.Status_Name := Name_Edit.Text; data.Status_datum := DateTimePicker1.Date; End; // Ich weiss nicht mal ob das funktioniert hat // Nun möchte ich es in der selektierte Zeile einfügen. Haupt_Form.ListView1.AddItem('test', Data); // Die Zeile ist sicher falsch ? end; close; end; |
Re: Listview weitere Daten die nicht in der Liste sichtbar s
Hallo Darty,
bei der Listview kann man sehr wohl Spalten verstecken, allerdings nur etwas kompliziert: Du legst ja Columns an. Du hast also beispielsweise 3 Columns, davon geht eine fuer die Caption drauf, die anderen 2 werden mit Hilfe der SubItems gefuellt. Wenn du nun weitere SubItems hinzufuegst, werden diese nicht angezeigt, aber trotzdem gespeichert. Das Ausblenden von Spalten ist also nur von hinten nach vorne moeglich, d.h. du kannst nicht in der Mitte eine Spalte ausblenden. Dazu muesstest du dir wohl deine eigene Listview-Klasse ableiten, was aber nicht so viel Aufwand waere (Visible-Eigenschaft bei TListViewColumn einfuehren, und Spalte ignorieren wenn Visible=False) Greetz alcaeus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz