Forum: PC-Programmierung C# - LISTVIEW


von Sven H. (Gast)


Angehängte Dateien:

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?

von Sven H. (Gast)


Lesenswert?

Vielleicht habe ich mich noch nicht klar genug ausgedrückt!

von Sven H. (Gast)


Lesenswert?

Schade das sich hier niemand so gut mit der LISTVIEW auskennt.
Ich komme echt nicht weiter....

von Johnny (Gast)


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)

von Johnny (Gast)


Lesenswert?

Sorry, kleiner Fehlerteufel.
Bei String.Compare kommt 0 raus wenn die strings gleich sind.

Also für Dein Programm:
if (String.Compare(listView1.Items[i].Text, message.ToString("x") ==
0)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.