C# - LISTVIEW

Gast #417402
Lesenswert?

Das LISTVIEW in C# macht mir große Probleme.

Hier ein Beispiel wie ich die Funktion NewCanFrame_transmit verwende:

private void button1_Click(object sender, System.EventArgs e)
    {
     NewCanFrame_transmit(111, 5, "CC");
    }

private void button2_Click_1(object sender, System.EventArgs e)
    {
     NewCanFrame_transmit(111, 3, "AA");
    }

Das Feld wo die Daten stehen, wird hier nicht verändert.
Der Counter wird aber immer um eins hochgezählt.
Ich möchte es aber so haben, das wenn ich das hier wie oben ausführe,
dann soll auch die Daten und die Länge aktualisiert werden.
Erst wenn eine neue ID kommt, dann soll eine neue zeile im ListView
erscheinen.

Mir scheint es echt so das in Visual Studio das ganze komplizierter
verpackt ist, als z.B. beim Borland Builder. Unter Borland Builder
habe
ich das StringGrid verwendet, da wars einfacher...
Fakt ist ich muss die "NewCanFrame_recieve" Funktion abändern.

...ich gehe nochmal näher darauf ein wie ich es genau meine:

Zuerst füre ich die Funktion so aus:
NewCanFrame_transmit(111, 5, "CC");
Erscheinen tut folgendes: Message:111,Length:5,Data:CC,Count:1


Als nächstes für ich die Funktion dann so aus:
NewCanFrame_transmit(111, 3, "AA");
Erscheinen tut folgendes: Message:111,Length:5,Data:CC,Count:2

Beim zweiten verändert sich in meiner ListView nur der Counter.
Wie müsste ich meine Funktion anpassen, dass ich die veränderungen
sehen kann?
Angehängte Dateien:
Gast #417405
Lesenswert?

Also normalerweise sind die Dinge mit dem Visual Studio und C# nicht
komplizierter zu lösen als mit den Borland Tools.

Also mir ist mal was aufgefallen, dass gar nicht gut ist:
if (listView1.Items[i].Text == message.ToString("x"))

Strings sind in C# referenztypen. Du vergleichst da also nicht die
Strings, sondern deren Referenzen miteinander.

Richtig müsste dies so sein:
if (String.Compare(listView1.Items[i].Text, message.ToString("x") !=
0)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren