Geachte delphi experts
hoe kan ik de opties wie tevoorschijnkomen in een dblookupcombobox sorteren op nummer zodat ik dus de volgorde krijg van 1.2.3 in plaats van zoals het nu is 2 1 3??
Geachte delphi experts
hoe kan ik de opties wie tevoorschijnkomen in een dblookupcombobox sorteren op nummer zodat ik dus de volgorde krijg van 1.2.3 in plaats van zoals het nu is 2 1 3??
Als je gewoon standaard sorteren bedoelt, moet je de property "Sort" hebben...
*Er bestaat geen bugs, alleen leerpunten*
oke ik ben een echte nieuweling wat betreft delphi, maar als ik intypdan werkt dit niet en de lijst wie tevoorschijn komt als ik de punt intyp en dan ff wacht daar staat niets in wat op sorteren lijkt.Code:dblookupcombobox1.Sort;
of zie ik iets over het hoofd???
hier een suggestie wat bij mij werkt:
ik vul de volgende gegevens in de de dblookupcombobox:
ListSource .. de datasource
ListField .. het veld dat in de combo komt te staan
KeyField ..
Als je een query gebruikt, kweet niet of dat het geval is en je sorteert je query vervolgens op je KeyField. ASC.. A-Z of DESC Z-A.. dan sorteert hij het ListField netjes in de dblookupCombo..
nou ik hoop dat je hier iets meej kunt
dit is de code wie in de adoquery staat maar hij sorteer niets ik krijg nog steeds de volgorde van 4,5,11,12,2,3 (dit zijn dus lidnummers) dus helaaz werkt het niet. achter de dblookupcombobox heb ik de volgende code staan misschien dat je daar iets aan hebt.Code:select * from lid inner join vereniging on lid.nummer=vereniging.nummer where lidnummer=: par1 Order by lidnummer;
Code:datamodule.DataModule3.ADOQuery1.Active:=false; datamodule.DataModule3.ADOQuery1.parameters[0].value:=DBLookupComboBox1.keyvalue; datamodule.DataModule3.ADOQuery1.Active:=true; datamodule.DataModule3.ADOQuery1.ExecSQL;
suc6
a newbie @ delphi
wat ik hier zo doen is bij je where statementcode:--------------------------------------------------------------------------------
select * from lid
inner join vereniging
on lid.nummer=vereniging.nummer
where lidnummer=: par1
Order by lidnummer;
--------------------------------------------------------------------------------
where lidnummer = ar1
dus de dubbele punt tegen par1 aan i.p.v. de = aan.. ik weet niet of dat verder iets uitmaakt, zo doe ik het altijd..
en misschien ffies om te proberen ook
ORDER BY lidnummer ASC .. maar dat hoeft inpincipe niet (volgens mij)
wanneer vul je je combobox? dat is met niet helemaal duidelijk.dit is de code wie in de adoquery staat maar hij sorteer niets ik krijg nog steeds de volgorde van 4,5,11,12,2,3 (dit zijn dus lidnummers) dus helaaz werkt het niet. achter de dblookupcombobox heb ik de volgende code staan misschien dat je daar iets aan hebt.
code:--------------------------------------------------------------------------------
datamodule.DataModule3.ADOQuery1.Active:=false;
datamodule.DataModule3.ADOQuery1.parameters[0].value:=DBLookupComboBox1.keyvalue;
datamodule.DataModule3.ADOQuery1.Active:=true;
datamodule.DataModule3.ADOQuery1.ExecSQL;
--------------------------------------------------------------------------------
en wat ik ook zou doen als je een query heb met alleen een select statement. wat hier het geval is..
i.p.v. ExecSQL gewoon OPEN te gebruiken..
Hoi
kan dit dan niet
dbcombobox1.sorted := true?
kan bij een normale combobox ook en die sorteerd wel.
eej,
sorted = undeclared identifier.. dus dat gaat niet werken.
precies die optie had ik al geprobeerd. maar er moet toch een manier zijn om die gegevens te sorteren?????
de vraag is alleen hoe?
jah is toch denk ik een kwestie van je query sorteren,.. heb je niet iets meer code?
wat voor code wil je hebben? volgens mij is dit de enige code wie van belang is op die ene dblookupcombobox. Dat is dus dat SQL-statement en de code achter de Dblookupcombobox. Maar zeg het maar en ik geef het. Hier heb je de complete pagina alvast
maar nog 1 opmerking ik koppel de dblookupcombobox niet aan de query die koppel ik namelijk aan een adotable wie uit de database de tabel lid selecteerd dus hier zit totaal geen code achter. koppel ik die wel namelijk aan de adoquery dan krijg ik geen gegevens uit de tabel te zien.Code:unit ledengegevens; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, DBCtrls, datamodule, StdCtrls, Mask, Buttons, ComCtrls; type Tledengeg = class(TForm) .. .. private { Private declarations } public { Public declarations } end; var ledengeg: Tledengeg; implementation uses Unit1, lidzoek, lidwijzig, lidverwijderen, lidtoevoeg; {$R *.DFM} procedure Tledengeg.DBLookupComboBox1Click(Sender: TObject); begin datamodule.DataModule3.ADOQuery1.Active:=false; datamodule.DataModule3.ADOQuery1.parameters[0].value:=DBLookupComboBox1.keyvalue; datamodule.DataModule3.ADOQuery1.Active:=true; datamodule.DataModule3.ADOQuery1.Open; end; procedure Tledengeg.BitBtn1Click(Sender: TObject); begin zoeklid.show; Datamodule3.ADOTable1.Append; end; procedure Tledengeg.BitBtn2Click(Sender: TObject); begin wijziglid.show; Datamodule3.ADOTable1.Append; end; procedure Tledengeg.BitBtn3Click(Sender: TObject); begin verwijderlid.show; end; procedure Tledengeg.BitBtn4Click(Sender: TObject); begin DataModule3.ADOTable1.Active:=true; voeglidtoe.show; Datamodule3.ADOTable1.Append; end; procedure Tledengeg.Button1Click(Sender: TObject); begin hoofdmenu.show; ledengeg.Close; Datamodule3.ADOTable1.Append; end; procedure Tledengeg.BitBtn5Click(Sender: TObject); begin application.terminate; end; end.
ik vat ehm denk ik..
je hebt een query die gegevens zoekt van je gekozen lidnr.
die lidnr haal je uit een adotable..
onclick haal je de gegevens op..
waarschijnlijk moet je dus je adotable sorteren want die schrijft het in je dblookupcombo..
die query had dus niets met sorteren te maken
dus zodra je de adotable opent moet je iets doen van
adotable1.sort;
ik heb het dus nu zo:
maar hij sorteert het nog niet. Waar ik ook die ene regel van adotable1 neerzet in dit stukje hij doet het niet. In de help van delphi staat dat het wel zo moet.Code:procedure Tledengeg.DBLookupComboBox1Click(Sender: TObject); begin datamodule.datamodule3.ADOTable1.Sort:='lid.lidnummer'; datamodule.DataModule3.ADOQuery1.Active:=false; datamodule.DataModule3.ADOQuery1.parameters[0].value:=DBLookupComboBox1.keyvalue; datamodule.DataModule3.ADOQuery1.Active:=true; datamodule.DataModule3.ADOQuery1.Open; end;
a newbie @ delphi
je moet die tabel sorten waar je form word geshowd.. niet onclick van je dblookupcombo..
onFormShow:
adotable1.Sort;
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks