Basic4ppc - Windows Mobile Development  

Go Back   Basic4ppc - Windows Mobile Development > Foreign Languages > German Forum
Home Register FAQ Members List Search Today's Posts Mark Forums Read


Sortierung der Daten in einer ComboBox


Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 09-03-2007, 12:56 PM
Junior Member
 
Join Date: Apr 2007
Location: Germany - Hessen
Posts: 23
Default Sortierung der Daten in einer ComboBox

Hallo an Alle,

ich habe mal wieer ein kleines Problem bei der Entwicklung meines Progrämmles. Ich möchte Daten mit Hilfe einer ComboBox selektieren. Dazu lese ich die Daten aus der SQLite-DB ein, was auch alles wunderschön funktioniert. Da die Menge der Auswahldaten in der Combobox schon relativ groß ist, wäre eine Sortierung natürlich von Vorteil. Meine bisherigen Versuche schlugen fehl und die Combobox bietet nach meinen Recherchen auch keine Möglichkeit einer Sortierung.
Gibt es eine Möglichkeit, die ich bisher übersehen habe oder hat jemand dazu einen guten Vorschlag?

Ich danke schon jetzt für alle Vorschläge.

Gruß

Fontanus
Reply With Quote
  #2 (permalink)  
Old 09-03-2007, 03:53 PM
specci48's Avatar
Basic4ppc Expert
 
Join Date: Apr 2007
Location: Germany
Posts: 578
Default

Hallo Fontanus,

wie Du bereits richtig gesehen hast, bietet zumindest die Combobox keine Möglichkeit zur Sortierung. Daher zwei Vorschläge:

1. Ich habe zwar noch nicht mit SQLite gearbeitet, aber wenn Du die Daten per Select aus der DB einliest, dann müsste man diesen Select doch sicherlich um einen Sort-Parameter erweitern können und dann die Combobox gleich sortiert füllen.
2. Alternativ (obwohl ich die Lösung 1. für besser halte) könnte man zunächt eine ArrayList mit den Daten füllen. Diese läßt sich dann sortieren und anschließend befüllt man die Combobox aus der ArrayList.



Gruß

specci48
Reply With Quote
  #3 (permalink)  
Old 09-03-2007, 07:20 PM
Junior Member
 
Join Date: Apr 2007
Location: Germany - Hessen
Posts: 23
Default

Hallo @speccie48,

es gibt in SQL die ORDER BY-Klausel, mit der man die Daten nach gewünschten Kriterien sortieren und etnsprechend anzeigen lassen kann. Ich habe zumindest den Versuch gemacht die Daten mit dieser Klausel sortieren zu lassen, hat aber leider beim befüllen der ComoBox nicht funktioniert. Zumindest nicht in der Form, die ich angewendet habe. Da dies die einzige sinnvolle Variante ist, werde ich daran noch ein wenig arbeiten.
Vielen Dank schon mal für Deine Tipps.

Fontanus
Reply With Quote
  #4 (permalink)  
Old 09-07-2007, 11:03 AM
Newbie
 
Join Date: Sep 2007
Posts: 9
Default

Hi, also ich habe nur Standard-SQL-Kenntnisse, also nicht SQLite-spezifisch. Aber eigentlich müsste es so gehen (einfaches Beispiel):

SELECT * FROM Job WHERE name='paul' ORDER BY id ASC

das ASC am Ende bedeutet nur, dass aufsteigend sortiert wird. Kann man glaub ich auch weglassen. Das Gegenstück wäre halt DESC.
Hoffe das hilft ein bisschen : )
Reply With Quote
  #5 (permalink)  
Old 09-09-2007, 07:39 PM
Junior Member
 
Join Date: Apr 2007
Location: Germany - Hessen
Posts: 23
Default

Hallo blackwinged,

diese Möglickeit ist mir bekannt. Bisher bin ich davon ausgegangen, dass man die Daten in der ComboBox per Add Statemanet nur Datensatzweise einbringen kann. Und damit wäre natürlich die Sortierung mit der ORDER BY Option nicht mehr möglich.
Sollte es die Möglichkeit geben, quasi alle Datensätze, sortiert mit der ORDR BY Option, in die ComboBox zu übernehmen, dann bitte ich um Information, wie das geht. Diese Möglichkeit ist mir bislang nicht bekannt.

Gruß

Fontanus
Reply With Quote
  #6 (permalink)  
Old 09-12-2007, 05:31 PM
Newbie
 
Join Date: Sep 2007
Posts: 9
Default SQLite

Hi,
ich bin jetzt auch kein basic4ppc profi, aber du liest die SQLite Daten doch Zeile für Zeile, die du vom SELECT-Query bekommst. Und die Add-Funktion der Combobox fügt den aktuellen Eintrag am Ende zur Box hinzu. Dann wäre am Ende die Sortierung doch noch vorhanden...

Oder werden zur Laufzeit mehrmals Daten eingefügt, die du dann in komplett sortiert haben möchtest?
In dem Fall kannst du für jeden einzufügenden String die Einträge einmal komplett durchlaufen und mit StrCompare prüfen, an welcher Stelle der neue Eintrag hinzugefügt werden muss. Das erledigst du dann mit Insert.

Allerdings weiß ich nicht ob bei Insert der vorherige Eintrag überschrieben wird. Falls ja musst du die Einträge noch bin zum Ende durchlaufen und jeden um eine Stelle nach hinten verschieben.

Ich denke aber die restliche Liste wird automatisch geshiftet.

Hoffe die späte Antwort hilft
Reply With Quote
  #7 (permalink)  
Old 09-14-2007, 03:54 PM
Junior Member
 
Join Date: Apr 2007
Location: Germany - Hessen
Posts: 23
Default

Neues Hallo @blackwinged,

meine Erfahrungen mit SQLite und anderen SQL-DB'n ist die, daß die Sortierung mit ORDER BY nur dann funktioniert, wenn ich eine Datenmenge > 1 Datensatz (DS) mit einem Lesevorgang entweder in eine Liste oder eine Tabelle einlese. Dann wird offensichtlich implizit mit dem Lesen der Daten die Sortierung durchgeführt und die Anzeige sieht entsprechend aus.
Beim Einfügen der Daten in die ComboBox lese ich die Daten Datensatz für Datensatz ein. Jeder DS ein Lesevorgang. Und damit ist in der Datenmenge 1 DS keine Sortierung möglich.
Mir ist momentan nicht bekannt, wie man mehr als einen DS pro ComboBox.ADD einlesen kann. Sollte es dennoch gehen, dann bitte ich um einen Hinweis. Es würde mir einige Zeilen Quellcode ersparen.

Fontanus
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
AddEvent with ComboBox erik58 Questions & Help Needed 2 05-24-2008 02:38 PM
ComboBox Raytracer Italian Forum 3 04-15-2008 04:15 PM
max. Anzahl der Zeichen einer textbox.... Bobbes German Forum 3 03-01-2008 03:24 PM
Simulieren einer seriellen Schnittstelle... schimanski German Forum 0 12-09-2007 05:33 PM
ComboBox Value RandomCoder Basic4ppc Wishlist 5 06-09-2007 02:07 PM


All times are GMT. The time now is 06:31 AM.


Powered by vBulletin® Version 3.6.10
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.1.0