| Autor |
Beitrag |
King_Crasher
      
Beiträge: 37
WIN XP
Delphi 2003
|
Verfasst: So 05.02.06 12:53
Hi,
kann mir bitte jemand sagen, wie ich in eine ListBox Spalten einfüge?(So ähnlich wie bei Excel) und wie ich unter die Spalten Einträge bekomme?
Danke Moderiert von Christian S.: Topic aus Sonstiges (Delphi) verschoben am So 05.02.2006 um 12:56
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: So 05.02.06 12:56
Mit einer ListBox gar nicht; such mal nach TListView in der OH
AXMD
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 05.02.06 12:57
Hallo!
In eine Listbox bekommst Du nur Spalten wie in einer Zeitung. Schau Dir für das, was Du haben möchtest, mal die ListView-Komponente an.
Grüße
Christian
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
King_Crasher 
      
Beiträge: 37
WIN XP
Delphi 2003
|
Verfasst: So 05.02.06 15:07
Ok ich hab das Ding gefunden. Aber ich kan damit leider noch nichts anfangen. Könnt ihr mir nicht sagen wie ich drei Spalten hinbekomme und wie ich in diese einen Wert aus einem Editfeld bekomme???
Danke
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: So 05.02.06 15:34
Die Einträge eines ListViews sind vom Typ TListItem;
Mit Caption wird 1.Spalte beschriftet, alle weitern über die Eigenschaft SubItems.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| var item: TListitem; begin item := listview.Items.Add; item.Caption := '<Text>'; item.SubItems.Add('<text>'); item.SubItems.Add('<text>'); |
_________________ Markus Kinzler.
|
|
King_Crasher 
      
Beiträge: 37
WIN XP
Delphi 2003
|
Verfasst: So 05.02.06 18:33
Hi
@mkinzler wenn ich den Quelltext so übernehmen fügt er immer neben einander das Wort ein. Aber nicht die Anderen. Und ich müsste für deinen Befehl einen Button Setzen was ich aber nicht möchte. Gibt es den kein Object in Delphi wo ich die Überschriften festlegen kann und unter diese den Eintrag eines edit feldes legen kann???
Danke
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: So 05.02.06 18:50
_________________ Markus Kinzler.
|
|
King_Crasher 
      
Beiträge: 37
WIN XP
Delphi 2003
|
Verfasst: Mo 06.02.06 18:50
ich habs probiert. Er fügt aber nur den ersten Wert ein. Die Anderen editfelder überhaupt nicht. Und einen Überschrift kommt auch nicht. Was nu???
Meine Editfelder haben den Namen: 1.Bez 2.Hub 3.Power
In Die erste Spalte soll das Wort "Bezeichnung" in die zweite das Wort "Hubraum" und in die Letzte das Wort "Power". Die Editfeldersollen unter die Einträge.
vielleicht kannst du mir ja mit diesen werten einen Kompletten Quelltext schicken.
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Mo 06.02.06 18:52
Zeig uns doch erst einmal Deinen Quelltext, dann schauen wir, was falsch dran ist. 
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
King_Crasher 
      
Beiträge: 37
WIN XP
Delphi 2003
|
Verfasst: Di 07.02.06 10:41
Hier ist mein Quelltext:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| var col, col1, col2: TListColumn; item: TListitem;
procedure TForm1.Button1Click(Sender: TObject); begin col := listview1.Columns.Items[0]; col.Caption := 'Bezeichnug'; col1:=listview1.Columns.Items[1]; col1.caption := 'Hubraum'; col2:= listview1.Columns.Items[2]; col2.caption :='KW';
item := listview1.Items.Add; item.Caption := Bez.Text; item.SubItems.Add(Hub.Text); item.SubItems.Add(Power.Text); end; |
|
|
Kroko
      
Beiträge: 1284
W98 W2k WXP
Turbo D
|
Verfasst: Di 07.02.06 10:46
Sind denn die Spalten über den OI überhaupt existent 
_________________ Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
|
|
King_Crasher 
      
Beiträge: 37
WIN XP
Delphi 2003
|
Verfasst: Di 07.02.06 11:03
Wie meinst du das existenz??? Ich hab drei Columns erstellt. Hab allen drei eine Caption gegeben. Meinst du das??
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Di 07.02.06 11:13
Du hast sie iun der IDE erstelllt richtig? In deinem geposteten Code hast du nur Referenzen(Zeiger) definiert sind, welche du auf möglicherweise undefinierte Werte setzt (istview1.Columns.Items[0]).
_________________ Markus Kinzler.
|
|
andras
      
Beiträge: 460
Win XP, Win Vista Home Premium, Ubuntu Dapper Drake
Delphi 2005 Pers
|
Verfasst: Di 07.02.06 15:57
bin mir zwar nicht sicher, aber vieleicht hilft dir das zusätzlich:
Delphi-Quelltext 1:
| Listview1.viewstyle:=vsreport; |
|
|
King_Crasher 
      
Beiträge: 37
WIN XP
Delphi 2003
|
Verfasst: Sa 11.02.06 12:51
@mkinzler
Wie meinst du das? Versteh dich nicht so recht. Was ist eine IDE? Ich dachte man kann das so machen, wie mit einer TStatusBar. Dort kann man ja auch die einzelnen erstellten Panels ansprechen.
|
|
Heiko
      
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: Sa 11.02.06 13:03
@ King_Crasher: Er hat gefragt ob die Spalten wirklich existieren (also in der IDE). Ansonten mache es mal so
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| var col, col1, col2: TListColumn; item: TListitem;
procedure TForm1.Button1Click(Sender: TObject); begin col := listview1.Columns.Items.Add; col.Caption := 'Bezeichnug'; col1:=listview1.Columns.ItemsAdd; col1.caption := 'Hubraum'; col2:= listview1.Columns.ItemsAdd; col2.caption :='KW';
item := listview1.Items.Add; item.Caption := Bez.Text; item.SubItems.Add(Hub.Text); item.SubItems.Add(Power.Text); end; |
Allerdings würde ich das Befüllen der Items dann in eine extra Prozedur stecken und die Überschriften nur einmal erzeugen, ansonten musst du die alten immer wieder klöschen  .
|
|
King_Crasher 
      
Beiträge: 37
WIN XP
Delphi 2003
|
Verfasst: Sa 11.02.06 18:47
@Heiko
Danke für den Quelltext aber in Zeile 7 nach "Items" zeigt er einen Fehler und zwar "[erwartet aber . gefunden).
|
|
Heiko
      
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: So 12.02.06 10:13
Dann war es glaube ich so hier  : listview1.Columns.Add;
|
|
King_Crasher 
      
Beiträge: 37
WIN XP
Delphi 2003
|
Verfasst: So 12.02.06 17:30
Jetzt kommt zwar kein Fehler mehr. aber er fügt immer nur den wert aus "Bez.text" ein. Könnte es an der Bezeichnung liegen. Col, Col1 und Col2??? Hatte schon mal ein Problem als ich das alles gleich genannt hab.
|
|
Heiko
      
Beiträge: 3169
Erhaltene Danke: 11
|
Verfasst: So 12.02.06 17:45
Um Speichervariablemn zu sparen kannst du es so machen  :
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| col := ListView1.Columns.Add; col.Caption := 'Bezeichnug'; col := ListView1.Columns.Add; col.Caption := 'Hubraum'; col := ListView1.Columns.Add; col.Caption :='KW'; |
|
|