Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   SQLite + DBGrid + Sortieren über Spalten Click (https://www.delphipraxis.net/178598-sqlite-dbgrid-sortieren-ueber-spalten-click.html)

Andidreas 17. Jan 2014 11:06

AW: SQLite + DBGrid + Sortieren über Spalten Click
 
Nee, einfacher...
Ich hatte in den Options dgTitleClick deaktiviert :oops:

Andidreas 17. Jan 2014 11:38

AW: SQLite + DBGrid + Sortieren über Spalten Click
 
Muss man beim Sortieren von Zahlenwerten noch etwas berücksichtigen?

Die werden bei mir gerade z.B. wie folgt sortiert:

100
11
12
200

Ich hab diese Werte leider als String Werte in der SQLite, Caste Sie aber zu Integers
Code:
CAST(SUM(Feld1) as Integer)
Jetzt weiß ich aber nicht woher das Problem kommt... Ob es an meinem Datentyp in der DB liegt und das Casten nichts bringt oder ob es an der Sortierung an sich liegt...

Hab schon CIS und BIN ausprobiert...

blondervolker 17. Jan 2014 16:01

AW: SQLite + DBGrid + Sortieren über Spalten Click
 
Datamodule1.KUTable.Sort := '[DEIN_VORNAME]';//1.Spalte
Datamodule1.KUTable.Sort := '[DEIN_NAME]';//1.Spalte

usw.

Furtbichler 17. Jan 2014 19:09

AW: SQLite + DBGrid + Sortieren über Spalten Click
 
Zitat:

Zitat von arnof (Beitrag 1244080)
ADO : xxx.Sort='FELDDNAME';

Echt? :gruebel: Stimmt. :thumb:

blondervolker 18. Jan 2014 12:04

AW: SQLite + DBGrid + Sortieren über Spalten Click
 
:cyclops:

Andidreas 20. Jan 2014 13:20

AW: SQLite + DBGrid + Sortieren über Spalten Click
 
Zitat:

Zitat von blondervolker (Beitrag 1244154)
Datamodule1.KUTable.Sort := '[DEIN_VORNAME]';//1.Spalte
Datamodule1.KUTable.Sort := '[DEIN_NAME]';//1.Spalte

usw.

Wie darf ich diesen Kommentar interpretieren? Zu meinem Zahlen Problem passt der ja nicht ganz?!

p80286 20. Jan 2014 13:50

AW: SQLite + DBGrid + Sortieren über Spalten Click
 
Zitat:

Zitat von Andidreas (Beitrag 1244099)
Ich hab diese Werte leider als String Werte in der SQLite, Caste Sie aber zu Integers
Code:
CAST(SUM(Feld1) as Integer)

Ah ha, wahrscheinlich fehlt mir die notwendige Phantasie. Wenn dies numerische Werte sein sollen, warum sind diese dann nicht numerisch in der DB abgelegt?
Wenn Du numerische Werte in einem (..)Grid anzeigst, sind sie nicht mehr numerisch.
Wo zum .. sortierst Du und wo führst Du den Cast aus?

(und alle die sagen, das ein Grid nur für die Anzeige ist, grinsen jetzt)

Gruß
K-H

baumina 20. Jan 2014 13:56

AW: SQLite + DBGrid + Sortieren über Spalten Click
 
Dass ein SUM() überhaupt auf Strings geht, ist mir neu.

Andidreas 20. Jan 2014 14:18

AW: SQLite + DBGrid + Sortieren über Spalten Click
 
Zitat:

Zitat von baumina (Beitrag 1244549)
Dass ein SUM() überhaupt auf Strings geht, ist mir neu.

Naja das is ja DB abhängig und die SQLite kanns wohl...

Zitat:

Zitat von p80286 (Beitrag 1244547)
Zitat:

Zitat von Andidreas (Beitrag 1244099)
Ich hab diese Werte leider als String Werte in der SQLite, Caste Sie aber zu Integers
Code:
CAST(SUM(Feld1) as Integer)

Ah ha, wahrscheinlich fehlt mir die notwendige Phantasie. Wenn dies numerische Werte sein sollen, warum sind diese dann nicht numerisch in der DB abgelegt?
Wenn Du numerische Werte in einem (..)Grid anzeigst, sind sie nicht mehr numerisch.
Wo zum .. sortierst Du und wo führst Du den Cast aus?

(und alle die sagen, das ein Grid nur für die Anzeige ist, grinsen jetzt)

Gruß
K-H

Ich hatte sie nicht numerisch in der DB, da mein Programm eine Text Datei in die Tabelle importiert die ich sortieren möchte. Ich muss zugeben das es ich mir beim import einfach machen wollte und alle Werte als Strings importiert habe.
Mittlerweile hab ichs auf den Feldtyp "int" umgestellt.

Betrachte ich meine SQLite Tabelle mit dem SQLiteManager Add-On im Firefox werden die Daten durch ein "Order By" richtig sortiert.

Sortiere ich im Programm über die UniDac Komponente mit einem "Order By" habe ich wieder das beschriebene Problem das er nicht richtig sortiert.
Dasselbe habe ich wenn ich nach einem Klick auf die Spalten Überschrift mit "IndexFieldName" sortiere.

Hatte jemand schon mal solche Probleme?

Andidreas 20. Jan 2014 14:32

AW: SQLite + DBGrid + Sortieren über Spalten Click
 
Liegt das evtl. an der SUM() Funktion???

Wenn ich die Daten ohne Group By und und SUM() Funktion abhole und über die IndesFieldName Funktion der TUniQuery sortiere, dann klappt alles mit dem sortieren.

Wenn ich aber in meinem SQL Befehl einen SUM() habe mit Group By und danach sortiere dann bekomme ich wieder die falsche Sortierung...

Hier mal ein Code Beispiel wie ich es meine:

SQL
Code:
Select Commissions, Sum(Menge) as "Kommissions Menge" From Tabelle1
Group By Commissions
Delphi Source für die Sortierung
Delphi-Quellcode:
  SQLiteFile_DisplayCommissions.IndexFieldNames := '"' + sFieldName + '" ' + gsSortOrder + ';';


sFieldName würde z.B. die DBGrid Spaltenüberschrift "Kommissions Menge" beinhalten.
Der SQL beinhaltet einen Group By da die Kommission aus mehreren Positionen besteht und in einer Info Ansicht die Gesamtmenge angezeigt werden soll...


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:48 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz