Entwickler-Ecke
WinForms - Datagridview soll aufsteigend sortieren
tomycat - Mi 01.03.17 20:46
Titel: Datagridview soll aufsteigend sortieren
hallo,
in Datagridview steht in Spalte A:
Zeile 1: 111,11
Zeile 2: 11,11
Zeile 3: 9,99
Was muss ich tun, wenn ich auf den Header von der Spalte A anklicke, dass alles nach dem Wert aufsteigend sortiert wird?
Moderiert von Christian S.: Topic aus C# - Die Sprache verschoben am Mi 01.03.2017 um 20:01
Delete - Mi 01.03.17 21:24
- Nachträglich durch die Entwickler-Ecke gelöscht -
Th69 - Mi 01.03.17 21:52
Hallo tomycat,
du möchtest nach den Zahlenwerten sortieren und nicht alphabetisch, oder?
Ist das DataGridView datengebunden (
DataSource = ...)? Und hast du den Datentyp der Spalte richtig gesetzt:
C#-Quelltext
1:
| column.ValueType = typeof(double); |
?
tomycat - Do 02.03.17 20:39
thx all,
genau, nicht alphabetisch. Ich sende einen SQL Befehl an meine Datenbank und die Antwort wird in einer Tabelle dargestellt. Spalte Nummer 5 sind Zahlen.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| schnipp NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql, conn); ds_auftraguebersicht.Reset(); da.Fill(ds_auftraguebersicht); dt_auftraguebersicht = ds_auftraguebersicht.Tables[0]; dataGridView2.DataSource = dt_auftraguebersicht; conn.Close();
if (Form1.kunde != "mayer") { auftrag_dataviewii(); } else { dataGridView2.Columns[0].Width = 40; dataGridView2.Columns[1].Width = 70; dataGridView2.Columns[2].Width = 70; dataGridView2.Columns[3].Width = 70; dataGridView2.Columns[4].Width = 80; dataGridView2.Columns[4].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; dataGridView2.Columns[5].Width = 80; dataGridView2.Columns[5].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; dataGridView2.Columns[5].ValueType = typeof(double); dataGridView2.Columns[6].Width = 100; dataGridView2.Columns[7].Width = 130; schnipp |
Ralf Jansen - Do 02.03.17 21:32
Kann ich nicht nachvollziehen.
So gerade eine frische DataGridView aus der ToolBox gefüllt und ich kann korrekt sortieren.
C#-Quelltext
1: 2: 3: 4:
| Random rnd = new Random(DateTime.Now.Millisecond); DataTable table = new DataTable(); table.Columns.Add(new DataColumn() { ColumnName = "Zahlungsart", DataType = typeof(double) }); dataGridView1.DataSource = Enumerable.Range(1,10).Select(x => { var row = table.NewRow(); row["Zahlungsart"] = rnd.NextDouble(); return row; }).CopyToDataTable<DataRow>(); |
tomycat - Fr 03.03.17 20:43
thx,
ich glaube wir reden aneinander vorbei.
Ich klicke auf den Header (Nummer 5) Dann soll diese Spalte nach Zahlen sortiert werden.
Ralf Jansen - Fr 03.03.17 21:17
Zitat: |
Ich klicke auf den Header (Nummer 5) Dann soll diese Spalte nach Zahlen sortiert werden. |
Genau das kann das Grid standardmäßig auch in meinem gezeigten Code. Zum testen habe ich halt nur 1 Spalte benutzt.
Wenn dein Grid das nicht kann hast du dir deine Spalten irgendwie verbastelt. Aber ein Standardgrid mit Standardspalten mit Standardeinstellungen kann das einfach.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!