Zum Inhalt springen

Datagridwiew nach absolut-wert sortieren


Floh-2001

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...