Auslesen einer listView



  • Hi,

    ich hab folgendes Problem.
    Ich benutzte Visual C++ 2008
    Mein Problem:
    Ich hab eine listView mit Einträgen.
    Nun möchte ich einen Index bestimmen. Es soll der Index einer Zeile(Item) sein.
    Ich hab folgendes: Ein Wort, dass auch in irgendeiner Zeile in der ersten Spalte steht. Nun will ich genau diesen Index von der Zeile, in der das Wort in der ersten Spalte steht.
    Und jetzt suche ich eine Funktion oder sonst irgend etwas, die/das den Index bestimmen kann. Gibt es so was schon verdefiniert?

    Schon mal Danke für eure Bemühung.
    The-Nik



  • Wenn du Schaust is das Listview von CListCtrl abgeleitet, also bekommst du auch nen zeiger darauf mit GetListCtrl() und im CLIstCtrl gibts dann FindItem() und das sollte dir doch weiterhelfen



  • ja, aber diese Funktion gibt ja nicht den Index der Reihe zurück!?

    Es müsst eine Funktion sein, deren Parameter sind:
    1. Der Inhalt des SubItems(also der Zelle)
    2. Den Index oder den Name der Column(also der Spalte)

    und als return müsste dann der Index des Items(also der Reihe), in der die Zelle steht, sein.

    Gibt es so etwas schon?





  • Aber mit dieser Funktion bekomm ich den Inhalt der Zelle und benötige für die Parameteter den Index des Items.
    Ich benötige aber genau das umgekehrte 😉

    Edit:
    Habs selber rausgefunden über ganz viele Umwege.



  • The-Nik schrieb:

    ja, aber diese Funktion gibt ja nicht den Index der Reihe zurück!?

    Also wenn du mal Bei FindItem schaust

    Return Value

    The index of the item if successful or -1 otherwise.

    Also entweder wir reden aneinander vorbei, oder du hast gar nicht geschaut. Also ich geh mal davon aus das du mit Reihe die Zeile des Controls meinst, denn die spalte kennst du ja selbst, und die Zeile bekommst du doch zurück falls es gefunden wurde.



  • Ja. Das stimmt schon soweit. Aber bei der listView in der Version "Microsoft Visual C++ 2008 Express Edition" gibt es kein FindItem().
    Nur ein FindItemWithText(). Die gibt dann aber nur den Name des Items zurück.
    Also zum Beispiel ListViewItem{Test}. Aber so kann man es ja dann auch machen.

    Meins sieht dann so aus:

    String^ ZellenInhalt = "TestWort"; //Nur ein Beispiel für den ZellenInhalt
    int IndexZeile; //Nacher der Index
    IndexZeile = listView1->Items->IndexOf(listView1->FindItemWithText(ZellenInhalt, true, 0)); //Index generieren
    


  • http://msdn.microsoft.com/de-de/library/ayyh1555(VS.80).aspx

    Edit: Wurde doch schon gesagt, dass du dir das CListCtrl geben lassen sollst.
    Dann kannst Du auch FindItem benutzen



  • Tata, weil das auch kein MFC und auch kein CListCtrl/CListView ist. In der Expressversion geht kein MFC und ging auch noch nie (normal nicht), weas du machst ist CLI mit .NET also demnächst bitte dort deine Fragen stellen, Rätzelt dann hier keiner mehr rum.

    Admin bitte einmal Verschieben!



  • okay, trotzdem danke für euer Bemühen. Wusste nicht was für unterschiede es in der Expressversion und der normalen gibt, weil ich bisher noch nichts vermisst habe(:



  • Dieser Thread wurde von Moderator/in Unix-Tom aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten