AGB  ·  Datenschutz  ·  Impressum  







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

Die gemeine Listview-Komponente :-/

Ein Thema von Chris1986 · begonnen am 10. Nov 2003 · letzter Beitrag vom 10. Nov 2003
Antwort Antwort
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#1

Die gemeine Listview-Komponente :-/

  Alt 10. Nov 2003, 18:26
Hi,
ich habe gleich mehrere Probleme mit einer Listview-Komponente
Ich benutze den ViewStle vsReport.
Wie füge ich jetzt Daten in die Liste ein? Ich habe das bis jetzt immer so gemacht:
Delphi-Quellcode:
var Neuer_Eintrag: TListItem;
begin
  Neuer_Eintrag := listview1.Items.add;
  Neuer_Eintrag.Caption := 'test'
  Neuer_Eintrag.Subitems.Insert(0,'test1');
  Neuer_Eintrag.SubItems.Insert(1,'test2');
end;
Muss ich "Neuer_Eintrag" irgendwie wieder freigeben?

Jetzt kommt das, was mir richtig Probleme macht:
Wie kann ich einzelne Subitems,bzw. die Caption verändern? Sprich aus test2 z.B: test3 machen?
Und wie lösche ich die Einträge wieder, wenn mir der ItemIndex nicht bekannt ist, sondern nur das, was in der Zeile steht? Denn der ItemIndex ändert sich doch, sobald ein vorheriger Eintrag gelöscht wird, oder?

Oft bekomme ich die Exception 'Zugriffsverletzung . . .'
Weiß jemand, wie's richtig geht?

Schonmal Danke.

MfG
Christian
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#2

Re: Die gemeine Listview-Komponente :-/

  Alt 10. Nov 2003, 18:30
Machs doch so:

Delphi-Quellcode:
begin
  with listview1.Items.add do
    begin
      Caption := 'test';
      Subitems.Add('test1');
      SubItems.Add('test2');
    end;
end;
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Die gemeine Listview-Komponente :-/

  Alt 10. Nov 2003, 18:32
@scp Danke für dein Antwort, aber das ist ja jetzt eigentlich nur eine kleine Schönheitsoperation .

Wie veränder ich die Subitems denn? Und wie finde ich ein Item, von dem mir nur die Caption oder ein SubItem bekannt ist?

MfG
Christian
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#4

Re: Die gemeine Listview-Komponente :-/

  Alt 10. Nov 2003, 18:42
Delphi-Quellcode:
function LVIndexByCaption(ListItems : TListItems; cText : String) : Integer;
var
  I: Integer;
begin
  result := -1;
  for i := 0 to (ListItems.Count-1) do
    If (ListItems[i].Caption = cText) then
      begin
        result := i;
        Break;
      end;
end;

function LVIndexBySubitem(ListItems : TListItems; cText : String; Col : integer) : Integer;
var
  I: Integer;
begin
  result := -1;
  for i := 0 to (ListItems.Count-1) do
    If (ListItems[i].Subitems[Col] = cText) then
      begin
        result := i;
        Break;
      end;
end;
Delphi-Quellcode:
var
  lvIndex : integer;
begin
  lvIndex := LVIndexBySubitem(ListView1.Items, 'test1', 0);
  ListView1.Items[lvIndex].Subitems[0] := 'test3';
end;
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Die gemeine Listview-Komponente :-/

  Alt 10. Nov 2003, 18:46
@scp:
Genau da hab ich gesucht. Schonmal ein Problem weniger Danke.
Jetzt bleibt nur noch die Frage, wie ich ein Subitem verändere, ohne das eine Exception ausgelöst wird.

MfG
Christian
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
huberlix

Registriert seit: 10. Nov 2003
46 Beiträge
 
#6

Re: Die gemeine Listview-Komponente :-/

  Alt 10. Nov 2003, 18:50
Habs jetzt nicht ausprobiert, aber ich denke das müsste gehen:
Code:
var index:Integer;
....
....
index:=Listview1.Items.IndexOf('Test1');
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#7

Re: Die gemeine Listview-Komponente :-/

  Alt 10. Nov 2003, 18:51
@chris
Dazu ein Tip: Du solltest immer in jeder Zeile soviele Subitems hinzufügen, damit alle Columns gefüllt sind.
Wenn kein Text drin sein soll, machst du einfach ein
  Add('');
  Mit Zitat antworten Zitat
scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#8

Re: Die gemeine Listview-Komponente :-/

  Alt 10. Nov 2003, 18:53
Zitat von huberlix:
Habs jetzt nicht ausprobiert, aber ich denke das müsste gehen:
Code:
var index:Integer;
....
....
index:=Listview1.Items.IndexOf('Test1');
Zitat von Delphi Hilfe:
Die Methode IndexOf gibt die Position eines Listeneintrags in einem TListItem-Objekt zurück.

function IndexOf(Value: TListItem): Integer;

Beschreibung

Mit IndexOf können Sie den Index des im Parameter Value übergebenen Listeneintrags ermitteln.
  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 02:03 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