Veröffentlicht 2. September 200916 j Hallo , Ich suche schon seit längerem eine lösung um mein Datagrid nach einem Absolut-wert zu sortieren. Auch hier im Forum hab Ich nichts gefunden. Vielleicht kann mir einer Helfen, wäre sehr Dankbar. Habe Folgendes Problem Ich habe im Datagridview eine Spalte mit Zahlen (Positiv und Negativ) und die möchte Ich gerne Sortieren. Beispiel: 100 -20 -50 76 32 -4 2 50 usw. die möchte Ich gerne folgendermasen Sortiert haben. 2 -4 -20 32 50 -50 76 100 Hier mein Script: ** erg_div ist die Spalte die Sortiert werden soll bs_ja.EndEdit() da_ja.Update(ds_ja.Tables(0)) dt_ja.Clear() da_ja.Fill(dt_ja) Dim cbss As New DataView(dt_ja) cbss.Sort = "erg_div asc" bsss_ja.DataSource = cbss DataGridViewr1.DataSource = bsss_ja Danke für Eure Hilfe
5. September 200916 j Hallo, du suchst also den Absoluwert zu deinen Ausgaben. Du musst im DataGridview eine weitere berechnete Spalte hinzufügen. Du änderst Die Abfrage für die Datenbindung wie in dem Beispiel hier: --Code für SQL Server (TSQL) SELECT id, zahl, POWER(POWER(zahl, 2), 0.5) AS Absolutwert FROM Zahlen ORDER BY Absolutwert Ich habe hier nur eine id und das Feld Zahl in der Tabelle. Die Spalte mit dem Absolutwert kannst Du auch auf Visible = False setzen. Habe das mal getestet und gibt eine Sortierung nach dem Zahlenwert unabhängig vom Vorzeichen zurück. Gruß, Thomas
8. September 200916 j Hallo Thomas Ich arbeite nicht mit einer sql Datenbank sondern einer Access Datenbank. Trotzdem hab Ich dein Scrip ausprobiert und habe es wie folgt eingebaut ds_ja.Tables.Add(dt_ja) da_ja = New OleDbDataAdapter("SELECT *, POWER(POWER(erg_div, 2), 0.5) AS Absolutwert FROM Zahlen", con_ja) da_ja.Fill(dt_ja) Dim cb As New OleDbCommandBuilder(da_ja) Dim cbs As New DataView(dt_ja) cbs.Sort = "absolutwert" bs_ja.DataSource = dt_ja bss_ja.DataSource = cbs DataGridView1.DataSource = bss_ja DataGridView1.Refresh() Er sortiert es mir trotzdem nicht. Hier eine Listing meiner Access Tabelle. Dim sql As String = "CREATE TABLE " & sTableName & "(" & _ "Spielernr short NOT NULL PRIMARY KEY, " & _ "Name Varchar(30) NOT NULL, " & _ "Vorname Varchar(30) NOT NULL, " & _ "Rang short, " & _ "Tisch1 short, " & _ "Ergebnis1 short, " & _ "Sack1 Short, " & _ "Tisch2 Short, " & _ "Ergebnis2 Short, " & _ "Sack2 Short, " & _ "Tisch3 Short, " & _ "Ergebnis3 Short," & _ "Sack3 Short," & _ "erg_ges Short," & _ "Sack_ges Short," & _ "erg_div Short" & _ ")" die Tabelle soll nach erg_div sorteiert werden.
8. September 200916 j Hallo! Ja OK Access sollte das wohl auch können. Zumindest wenn Du im SQL auch eine entsprechende ORDER BY - Klausel mitgibst; Dein da_ja = New OleDbDataAdapter("SELECT *, POWER(POWER(erg_div, 2), 0.5) AS Absolutwert FROM Zahlen", con_ja) Mein da_ja = New OleDbDataAdapter("SELECT *, POWER(POWER(erg_div, 2), 0.5) AS Absolutwert FROM Zahlen [COLOR="Red"]ORDER BY Absolutwert[/COLOR]", con_ja) So sollte es dann klappen. Gruß, Thomas
11. September 200916 j Hallo Wenn Ich den folgenden code eingebe. da_ja_aw = New OleDbDataAdapter("SELECT *, POWER(POWER(erg_div), 0.5) AS Absolutwert FROM jassen ORDER BY Absolutwert", con_ja) bringt er folgende Fehlermeldung: undefinierte Funktion "POWER" in Ausdruck was bedeutet das? Was muss Ich ändern? Danke
11. September 200916 j Hallo, ah ja Access :-) Hier so sollte es aber nun funktionieren: SELECT Test2.ID, Test2.Zahl, Sqr((Test2.Zahl^2)) AS Absolutwert FROM Test2 ORDER BY Sqr((Test2.Zahl^2)); Gruß, Thomas
11. September 200916 j Muss der Umweg über Quadrieren und Wurzelziehen eigentlich sein? Eine so einfache Funktion wie ABS sollte Access doch beherrschen.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.