ListView add in mehrern if abfragen.

Fridulin

Erfahrenes Mitglied
Hallo Leute.

Ich habe folgendes Problem. Mir ist klar wie ich in einem zug ListView Items und Subitems eintrage. Nur ich habe ien foreach Schleife, darin befinden sich mehrere IF Abfragen und in jeder IF abfrage solln ein subitem (in einer Zeile) hinzugefügt werden.
So wird es alles in einem Zug gesetzt.
Code:
ListViewItem item = new ListViewItem("");
item.SubItems.Add("");
listView.Items.Add(item);
Hier mein Code
Code:
ListViewItem inhalte = new ListViewItem();
foreach (string entry in splittedData)
			{
				
				
				if (splittedSpieler[i].StartsWith(@"player_"))
				    {
					int i3 = i + 1;
					//ListViewItem inhalte = new ListViewItem(splittedSpieler[i3], 1);
				//	inhalte.SubItems.Add(splittedSpieler[i3]);
				
					//inhalte.ListView.Items.Add.Items.Add(splittedSpieler[i3]);
					
					list_spieler.Items.Add(splittedSpieler[i3]);
				    }
				
				if (splittedSpieler[i].StartsWith(@"frags_"))
				    {
					int i3 = i + 1;
					
				//	ListViewItem item = new ListViewItem("");
				//	item.SubItems.Add(splittedSpieler[i3]);
				//	list_spieler.Items.Add(item);
				
					inhalte.SubItems.Add(splittedSpieler[i3]);
				//	list_spieler.Items.Add(splittedSpieler[i3]);
				list_spieler.Items.Add(inhalte);
					
				    }
.................
			}
Wie Ihr hier an meinem Code sehen könnt habe ich schon ein wenig herum Experimentiert. So wie es jetzt ist, gibt er immer eine leere Zeile mit aus.

Währe schön wenn jemand eine Idee hat und diese mir hier mitteilen könnte.

Vielen Dank und viele Grüße
Fridulin
 
Solltest zunächst den String so zusammenbasteln wie du den einfügen willst. Was du machst ist irgendwie Käse, weil du ja nie sicher sein kannst das die Daten auch alle vorhanden sind.

Hast du dir das mal im Debugmodus angeschaut ? Sind auch Werte in dem "inhalte" Objekt oder dem anderen drin ?

Schau da mal nach.

Gruß

MFC OpenGL
 
Hi,

danke für deine Antwort. Also es werden alle eingetragen, nur eben immer mit einen leeren Feld drinne. Ja nagut, klaro kann ich davon nicht ausgehen das sie immer alle gesetzt sind, aber das kann man ja vorher noch abfragen. Das ist ja kein Thema.

Das mit nem arry String vorher Basteln hatte ich mri auch schon gedacht. Aber ich dachte eventuell geht es auch nicht ganz so umständlich, sondern direkt.

Mit dem Debugmodus kenne ich mich nicht sonderlich gut aus, aber von Tests her kann man davon ausgehen das in den anderen die SpielerNamen drinne sind und die anderen Werte sind in Inhalet drinne.

Viele Grüße und vielen Dank
Fridulin
 
Hallo Leute,

und eine andere Möglicheit gibt es nicht? Mir ist die Methode mit dem String zu umständlich und "unschön". Da muß es doch noch andere Möglichkeit geben. Oder, iree ich?

Viele Grüße und Danke für eure Hilfe
Fridulin
 
Du kennst dich im Debugmodus, sprich dem Debugger nicht aus? Das soll jetzt aber keine Ausrede sein - hoff ich halt mal.

Wenn du dir damit schwer tust, dann einfach ein paar Artikel durchlesen, oder einfach mal ausprobieren. Das erleichtert dir das Programmieren gewaltig.
 
Ne ich kenne mich nur in der alten c++ welt aus. Mit add Watch und trace info. Dann geht er Zeile für Zeile durch und Zeigt mir die Inhalte an, aber was derartiges finde ich bei SharpDevelop nicht.
Aber wie schon erwähnt ich hab durch Versuche es schon herausgefunden.
aber von Tests her kann man davon ausgehen das in den anderen die SpielerNamen drinne sind und die anderen Werte sind in Inhalet drinne.
Viele Grüße
Fridulin
 
Aso, du verwendest SharpDevelop. Yup, das hat angeblich noch immer keinen Debugger dabei. Obwohl schon mehrfach angekündigt.

Visual Studio Express wäre da vielleicht gscheiter für dich. Da kannst auch entsprechend Debuggen. Hat übrigens den besten Debugger, den ich je irgendwo gesehen hab.
 
Hallo,

ach deswegen habe ich es noch nicht gefunden :) . Aber im Menü ist ein Debuggen Eintrag. Allerdings führt man das Programm dann nur aus und wo addwatch oder Traceline vorhanden ist, da hab eich keine Ahnung.
Eine Frage am Rande, vielleicht hast du ja eine Idee. Wenn ich den Computer neu starten oder runterfahren will macht er das nicht mehr, solange mein Programm noch läuft. Das on Closing event hatte ich schon entfernt zum Testen, aber daran liegt es auch nicht.

Zum meinen Hauptproblem, gibt es nicht noch eine andere Möglichkeit wie ich den mehren If schleifen immer eine Spalte in einer Listview füllen kann?

Vielen Dank für deine Hilfe und viele Grüße
Fridulin
 
Das Du jetzt den Business und den Präsentationslayer vermischst ist net so toll. :(
Die GUI visualisiert NUR und speichert keine Daten oder verwaltet diese (!)
Ich hab Dir vor kurzem ein wunderschönes [thread=232634]Beipiel[/thread] gepostet,
wie Du deine Programmdaten speichern kannst, um sie im Programm komfortabel verwalten zu können.
Du würdest Dich nicht während der Visualisierung mit dem Speichern der Daten herrum ärgern müssen
und könntest Dich somit besser darauf konzentrieren.
Klingt schon wie Kritik, das weiss ich, nur will ich meine Mühe nicht umsonst gewesen lassen sein. :)
Fridulin hat gesagt.:
Eine Frage am Rande, vielleicht hast du ja eine Idee. Wenn ich den Computer neu starten oder runterfahren will macht er das nicht mehr, solange mein Programm noch läuft. Das on Closing event hatte ich schon entfernt zum Testen, aber daran liegt es auch nicht.
Fängst Du das Schließen des Forms ab und blendest es anstatt aus?
Dann musst Du das [thread=213150]Das runterfahren des PC's abfangen[/thread] und darauf reagieren.

lg, cosmo
 
Zuletzt bearbeitet:
Hallo,

danke für deine Antwort.
Das Du jetzt den Business und den Präsentationslayer vermischst ist net so toll.
ups, eine Funktion mehr wovon ich keine Ahnung habe.

Das stimmt schon mit deinem Beispiel. Das tut mir leid. Das Problem ist nur immer, ich weiß nicht 100% ob die Werte immer genau an der statischen Stelle sind und deswegen wollte ich mir gerne etwas zusammenbasteln was auch mit variablen Stellen auskommt.

Fängst Du das Schließen des Forms ab und blendest es anstatt aus?
Ja macht es standartmäßig, sobald man auf schließen klickt, wird die Form auf hide gesetzt. Aber zum Testen hatte ich das auch schon einmal geändert und wieder zurückgestellt das er wirklich die Formen schließen soll. Aber geklappt hatte es auch nicht, aber wer weiß. Ich werde das aufjedenfall einmal ausprobieren und hoffen das es klappt.

Vielen Dank und viele Grüße
Fridulin

PS: Die Mühe war aufjendenfall nicht umsonst! So habe ich schon ein bischen tiefer in die Welt der Klassen einblicken können.
 

Neue Beiträge

Zurück