C# Mehrere Labels ordnen oder Rangliste erstellen

alex_00

Cadet 2nd Year
Registriert
Dez. 2016
Beiträge
31
Hallo,

ich habe eine Tabelle mit Labels erstellt. Gibt man ein Ergebnis ein, werden die daraus folgenden Punkte etc in die Tabelle eingetragen. Mein Problem ist, dass ich nicht weiß wie ich dann anzeigen lassen kann, wer Platz 1, Platz 2 usw ist. Ich möchte also die Platzierung der jeweiligen Mannschaften anzeigen lassen. Eine andere Möglichkeit wäre, die unterschiedlichen Labels so zu ordnen, dass das Label mit der größten Zahl oben steht usw., wobei dies glaube sogar noch schwerer ist. Hier ein Screenshot der Tabelle:

C# Forum2.PNG

Ich kann jede Hilfe gut gebrauchen :-)
 
Warum willst du die Labels sortieren und nicht einfach den Inhalt entsprechend des Rangs abändern? Label 1 = Rang 1, label 2 = Rang 2 und so weiter (Stichwort binding). Deine Daten hälst du dafür eben in einer entsprechenden Form vor (z.B. eine Liste von Manschaftsobjekten die eine Eigenschaft Punkte oder Rang oder was auch immer haben). Die Objekte kannst du mit Werten aus einer Datenbank, XML Datei, etc. füllen.
 
Hi,
er meint damit, dass du nicht die Labels umherschieben musst, sondern stattdessen in die Labels einen anderen Text (den gewünschten) reinschreibst. Das dürfte viel einfacher sein, als die Labels auf dem Form hin- und her zu schieben.

greetz
​hroessler
 
Estelle dir eine Klasse die als Eigenschaften die Spalten der Tabelle enthält.
Dann erstelle List-Objekt, welches Klassenobjekte enthält (List<Tabellenklasse>)
Diese List-Objekt kannst du dann programmatisch sortieren sobald sich etwas ändert und dann entweder die ganze Tabelle neu zeichnen oder die passende Zeile suchen und die dann aktualisieren.

Die Klasse könnte so aussehen:
Code:
Class Mannschaft
{
Public string Team {get; set;}
Public int Spiele {get; set;}
Public int Tore {get;set;}
Public int Punkte {get; set;}
}

Die Liste wäre dann List<Mannschaft> Tabelle = new List<Mannschaft>();

Du solltest nicht direkt mit UI-Elementen arbeiten, sondern mit Programmobjekten und dann jeweils nur die Ansicht updaten.
 
Zuletzt bearbeitet:
Wenn es keine Hausaufgaben sind, so solltest du direkt das richtige Control nehmen, wie z.B. DataGridView....
Dann kann man sich später solche Sortierspäße sparen....
 
oder noch viel besser: das RadGridView (dazu brauchts aber die kostenpflichtigen Telerik-Controls)
 
Zurück
Oben