AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Listview Spalte ausblenden (visible := false)

Ein Thema von Plague · begonnen am 10. Mär 2004 · letzter Beitrag vom 11. Mär 2004
Antwort Antwort
Plague

Registriert seit: 6. Okt 2003
591 Beiträge
 
#1

Listview Spalte ausblenden (visible := false)

  Alt 10. Mär 2004, 19:39
Guten Abend,

ich habe mal eine Frage. Ist es möglich, eine Spalte (die erste) auszublenden? Ich möchte, dass die Daten in der Spalte (unsichtbar existieren bzw. über MySQL abgefragt werden). Deshalb sollte die Spalte einfach auf so eine Art visible := false gesetzt werden. Geht das? Wenn ja wie?

Danke
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: Listview Spalte ausblenden (visible := false)

  Alt 10. Mär 2004, 19:44
Hi!

Vielleicht kannst du ja einfach die Spaltenbreite auf 0 setzen?


Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Plague

Registriert seit: 6. Okt 2003
591 Beiträge
 
#3

Re: Listview Spalte ausblenden (visible := false)

  Alt 10. Mär 2004, 19:46
Wäre vielleicht als letzte Variante eine Möglichkeit.
Aber das Ausblenden wäre mir lieber...
  Mit Zitat antworten Zitat
Plague

Registriert seit: 6. Okt 2003
591 Beiträge
 
#4

Re: Listview Spalte ausblenden (visible := false)

  Alt 10. Mär 2004, 19:53
Habe jetzt mal die Variante mit der Breite = 0 ausprobiert.
Ist nicht möglich. Die mindestbreite liegt bei 50.
Aber trotzdem danke für den Tipp...
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#5

Re: Listview Spalte ausblenden (visible := false)

  Alt 10. Mär 2004, 20:01
Hi!

Man kann ja auch noch minwidth einstellen.
Ist selbst damit nur >50 möglich? (Hab leider keine bessere Idee, ist nur so mal "geraten", sorry)

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von M-O-D
M-O-D

Registriert seit: 21. Feb 2004
Ort: Create(self)
74 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: Listview Spalte ausblenden (visible := false)

  Alt 10. Mär 2004, 22:04
Hi,

versuch doch die Listview anders zu füllen. Die Spalten die "unsichtbar" sein sollen einfach ans ende.
Also z.B.... Du hast 2 Sichbare Einträge(Spalten) und einen auf den Du mit einer Komponente oder so zugreifen möchtes. Dann erstellst Du ein LV mit 2 Spalten, belegst aber 3 Spalten. Die 1. Spalte ist die Caption(Sichtbar), die 2. Spalte das SubItem[0](Sichtbar) und die 3. Spalte ist Subitem[1](unsichtbar aber trotzdem da!!!).
Du könntest also auch 10 Spalten füllen. Wenn Du nur 3 Spalten im Editor einstellst, sind die restlichen 7 automatisch unsichtbar aber vorhanden. Du kannst also mit SubItems[6] auf den Inhalt der unsichtbaren Spalte zugreifen.

Ich mache das auch öfters.. in der letzten Spalte wird zum Beispiel eine Dateiposition abgespeichert um beim click auf selected.Subitems[] zugreifen zu können.

CU
Ich lebe zwar über meine Verhältnisse, aber immer noch unter meinem Niveau...
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Listview Spalte ausblenden (visible := false)

  Alt 11. Mär 2004, 05:12
Hai Plague,

die große Frage: Warum möchtest Du eine Spalte die nicht angezeigt wird?
Deine wahrscheinliche Antwort:
Zitat:
Ich möchte die ID des Datensatzes dort speichern.
Daruf sage ich:
Zitat:
Das ist aber keine gute Lösung
Jetzt Du:
Zitat:
Wie soll ich es denn machen?
Ich wieder:
Zitat:
Schaue dir mal die Eigenschaft .Data von TListItem an.
Du schon wieder:
Zitat:
Wie geht das denn genau?
Ich wühle in meinem Quellcode und poste:

Delphi-Quellcode:
procedure TFRM_Main.ShowAnreden;
var
  LI: TListItem;
  LC: TListColumn;
begin
  with DataModule1.ZReadOnlyQuery1 do
  begin
    close;
    SQL.Text := 'SELECT * FROM anreden ORDER BY anrede';
    open;
    ListView1.Items.BeginUpdate;
    Listview1.Items.Clear;
    Listview1.Columns.Clear;
    LC := ListView1.Columns.Add;
    LC.Caption := 'Anrede';
    LC.Width := 150;
    LC := ListView1.Columns.Add;
    LC.Caption := 'Briefanrede';
    LC.Width := 250;
    while not (EOF) do
    begin
      LI := Listview1.Items.Add;
      LI.ImageIndex := 0;
->>> LI.Data := Pointer(FieldByName('id').AsInteger); // ID speichern!
      LI.Caption := FieldByName('anrede').AsString;
      LI.SubItems.Add(FieldByName('briefanrede').AsString);
      Next;
    end;
    ListView1.Items.EndUpdate;
    close;
  end;
end;

Und so kommst Du an die ID:
Delphi-Quellcode:
procedure TFRM_Main.ListView1DblClick(Sender: TObject);
var
  id : Integer;
begin
  id := Integer(ListView1.Items[ListView1.ItemIndex].Data);
end;


Wenn ich jetzt total daneben gelegen habe war das schöne Gespräch für die Katz
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Plague

Registriert seit: 6. Okt 2003
591 Beiträge
 
#8

Re: Listview Spalte ausblenden (visible := false)

  Alt 11. Mär 2004, 15:22
@Sharky

Also das Programm kann ohne Probleme erzeugt werden, aber die Spalte (ID) wird immer noch angezeigt. Muss ich eventuell noch eine andere Einstellung treffen?

Danke
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Listview Spalte ausblenden (visible := false)

  Alt 11. Mär 2004, 15:33
Zitat von Plague:
...Also das Programm kann ohne Probleme erzeugt werden, aber die Spalte (ID) wird immer noch angezeigt. Muss ich eventuell noch eine andere Einstellung treffen?....
Hai Plague,

bei meinem Code gibt es keine Spalte für die ID!! Die ID wird in der Eigenschaft .Data der Zeile gespeichert!
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Plague

Registriert seit: 6. Okt 2003
591 Beiträge
 
#10

Re: Listview Spalte ausblenden (visible := false)

  Alt 11. Mär 2004, 15:39
Sorry war mein Fehler. Es war schon richtig, ich hab es nur in die Procedure für den falschen Button geschrieben. Jetzt klappt es wunderbar. Danke!!!
  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 05:13 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