|
| Sortering af dbgrid Fra : Carsten Mortensen |
Dato : 31-10-06 20:40 |
|
Hej
Har indlæst data fra en tabel (Paradox), og viser de ønskede data via et
dbgrid.
Jeg ville godt have at når jeg trykker på et af titelfelterne i dbgrid, så
bliver data i dbgridet sorteret efter det ønskede felt.
Har forsøgt med følgende procedure, men der sker ikke nogen sortering,
feltet bliver farve ændres til blå
som forventet men ellers sker der ikke noget.
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
With Query1 do
Begin
DisableControls;
Close;
SQL.Clear;
SQL.Add('select * from slgdata');
SQL.Add('Order by ' + column.FieldName);
Open;
DBGrid1.Columns.RestoreDefaults;
Column.Title.Font.Color := clBlue;
EnableControls;
end
end;
Nogen forslag til hvad der evt. er galt?
bruger delphi 6 pro
mvh
Carsten
| |
Uffe Kousgaard (01-11-2006)
| Kommentar Fra : Uffe Kousgaard |
Dato : 01-11-06 08:12 |
|
"Carsten Mortensen" <cbm@valmo.dk> wrote in message
news:4547a67e$0$14012$edfadb0f@dread15.news.tele.dk...
>
> Nogen forslag til hvad der evt. er galt?
Det ser umiddelbart rigtigt ud. Prøv at tilføje en where-clause, så du kan
se at din SQL rent faktisk bliver eksekveret.
Ellers prøv med et index felt fremfor en "order-by". Det har jeg i alle fald
haft held med til samme problemstilling engang.
hilsen
Uffe
| |
Carsten Mortensen (01-11-2006)
| Kommentar Fra : Carsten Mortensen |
Dato : 01-11-06 08:51 |
|
"Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
news:454848e1$0$2093$edfadb0f@dtext02.news.tele.dk...
> "Carsten Mortensen" <cbm@valmo.dk> wrote in message
> news:4547a67e$0$14012$edfadb0f@dread15.news.tele.dk...
>>
>> Nogen forslag til hvad der evt. er galt?
>
> Det ser umiddelbart rigtigt ud. Prøv at tilføje en where-clause, så du kan
> se at din SQL rent faktisk bliver eksekveret.
Hej Uffe,
Hvordan laver jeg en where clause så jeg kan se at min sql rent faktisk
bliver esekveret??
jeg er gået helt død.
>
> Ellers prøv med et index felt fremfor en "order-by". Det har jeg i alle
> fald haft held med til samme problemstilling engang.
>
hvordan får jeg ændret i min sætning så jeg kan bruge index felt istedet for
order by??
> hilsen
> Uffe
>
>
| |
Uffe Kousgaard (01-11-2006)
| Kommentar Fra : Uffe Kousgaard |
Dato : 01-11-06 09:24 |
|
"Carsten Mortensen" <cbm@valmo.dk> wrote in message
news:454851da$0$14035$edfadb0f@dread15.news.tele.dk...
>
> Hvordan laver jeg en where clause så jeg kan se at min sql rent faktisk
> bliver esekveret??
SQL.Add('select * from slgdata');
SQL.Add('where .....');
SQL.Add('Order by ' + column.FieldName);
Så skulle du gerne kunne se, at dbgrid'en indeholder færre records.
hilsen
Uffe
| |
Carsten Mortensen (01-11-2006)
| Kommentar Fra : Carsten Mortensen |
Dato : 01-11-06 09:47 |
|
"Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
news:4548599c$0$2099$edfadb0f@dtext02.news.tele.dk...
> "Carsten Mortensen" <cbm@valmo.dk> wrote in message
> news:454851da$0$14035$edfadb0f@dread15.news.tele.dk...
>>
>> Hvordan laver jeg en where clause så jeg kan se at min sql rent faktisk
>> bliver esekveret??
>
> SQL.Add('select * from slgdata');
> SQL.Add('where .....');
> SQL.Add('Order by ' + column.FieldName);
>
> Så skulle du gerne kunne se, at dbgrid'en indeholder færre records.
Hej Uffe
Det ser ikke ud til at der kommer noget i dbgrid overhovede. Skal der
udføres nogen form for refresh af dbgridet eller tabelen, efter at SQL er
kørt?
mvh
Carsten
>
> hilsen
> Uffe
>
>
| |
Uffe Kousgaard (01-11-2006)
| Kommentar Fra : Uffe Kousgaard |
Dato : 01-11-06 10:39 |
|
"Carsten Mortensen" <cbm@valmo.dk> wrote in message
news:45485f0c$0$14043$edfadb0f@dread15.news.tele.dk...
>
> Det ser ikke ud til at der kommer noget i dbgrid overhovede. Skal der
> udføres nogen form for refresh af dbgridet eller tabelen, efter at SQL er
> kørt?
Hvis den ændring af koden gjorde at der pludselig slet ikke kommer noget i
dbgridden, så er der nok noget helt andet i vejen. Jeg kan ikke gætte, hvad
det er herfra.
hilsen
Uffe
| |
Carsten Mortensen (01-11-2006)
| Kommentar Fra : Carsten Mortensen |
Dato : 01-11-06 12:11 |
|
"Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
news:45486b48$0$2106$edfadb0f@dtext02.news.tele.dk...
> "Carsten Mortensen" <cbm@valmo.dk> wrote in message
> news:45485f0c$0$14043$edfadb0f@dread15.news.tele.dk...
>>
>> Det ser ikke ud til at der kommer noget i dbgrid overhovede. Skal der
>> udføres nogen form for refresh af dbgridet eller tabelen, efter at SQL er
>> kørt?
>
> Hvis den ændring af koden gjorde at der pludselig slet ikke kommer noget i
> dbgridden, så er der nok noget helt andet i vejen. Jeg kan ikke gætte,
> hvad det er herfra.
>
> hilsen
> Uffe
>
Hej Uffe
Jeg fik udtrykt mig lidt forkert, jeg mener der sker ingen ændringer i
dbgridet, der står de samme data som der stod før jeg kørte SQL
foresåørgelsen. Det ser ud til at det måske ikke bliver opdateret eller hvad
ved jeg.
Jeg er kommer ud over det ved at anvende indexfelter istedet for. men jeg
syntes det er underligt.
| |
Carsten Mortensen (01-11-2006)
| Kommentar Fra : Carsten Mortensen |
Dato : 01-11-06 09:13 |
|
"Uffe Kousgaard" <oh@no.no> skrev i en meddelelse
news:454848e1$0$2093$edfadb0f@dtext02.news.tele.dk...
> "Carsten Mortensen" <cbm@valmo.dk> wrote in message
> news:4547a67e$0$14012$edfadb0f@dread15.news.tele.dk...
>>
>> Nogen forslag til hvad der evt. er galt?
>
> Det ser umiddelbart rigtigt ud. Prøv at tilføje en where-clause, så du kan
> se at din SQL rent faktisk bliver eksekveret.
Hej
Når jeg indsætter et break point i min kode ved proceduren dbgrid1titleclik,
så der det ud til at den løber rigtigt igennem. Men hvordan kan man ellers
kontroller om der kommer data ud af SQL forespørgelsen?
mvh Carsten
>
> Ellers prøv med et index felt fremfor en "order-by". Det har jeg i alle
> fald haft held med til samme problemstilling engang.
>
> hilsen
> Uffe
>
>
| |
|
|