TJvDBUltimGrid e onUserSort
  Home FAQ Contact Sign in
it.comp.lang.delphi only
 
Advanced search
POPULAR GROUPS

more...

it.comp.lang.delphi Profile…
 Up
TJvDBUltimGrid e onUserSort         


Author: gpcaretti
Date: Jun 3, 2008 04:34

Salve a tutti,
uso TJvDBUltimGrid delle JEDI VCL per listare una tabella ADO.
Il mio problema è sull'implementazione di un sort che vorrei fare da
me per inserire una logica di ordinamento custom.

La doc. di TJvDBUltimGrid dice di implementare l'evento onUserSort con
un metodo del tipo

procedure TForm1.JvDBUGUserSort(Sender: TJvDBUltimGrid; var
FieldsToSort: TSortFields; SortString: String; var SortOK: Boolean);

Il problema è che non ho idea come implementarlo! Devo fare quna query
io sul DB o cosa?
Ho trovato su un sito un esempio di implementazione che però fa
riferimento a variabile (membri) esterni al metodo. Ve lo riporto qui.
Qualcuno sa darmi una mano?
Show full article (1.51Kb)
4 Comments
Re: TJvDBUltimGrid e onUserSort         


Author: Rockio
Date: Jun 3, 2008 08:13

Sì, devi fare tu la query.
questo è un esempio funzionante:

procedure TfmProvince.grdProvinceUserSort(Sender: TJvDBUltimGrid;
var FieldsToSort: TSortFields; SortString: String; var SortOK: Boolean);
begin
delete(SortString,pos('[',SortString),1);
delete(SortString,pos(']',SortString),1);
AggiornaDataset(SortString);
SortOk := True;
end;
Show full article (0.85Kb)
no comments
Re: TJvDBUltimGrid e onUserSort         


Author: gpcaretti
Date: Jun 3, 2008 10:39

On Jun 3, 5:13 pm, none...@none.it (Rockio) wrote:
> Sì, devi fare tu la query.
> questo è un esempio funzionante:

Ottimo. Grazie!

Aggiungo però un commento: la tua "user sort" prevede che la
TJvDBUltimGrid sia collegata ad una TADOQuery per la quale riscrivi la
SELECT:

with dsProvince do begin
Close;
sql.clear;
sql.Add('SELECT PROVINCIA.DEN_PROVINCIA...
...

Ma come la mettiamo se la TJvDBUltimGrid è associata ad una
TADOTable? Io uso quella poiché:
1. i dati che visualizzo devono essere anche editabili (non vorrei
avere una TADOQuery per la view e una TADOTable per la edit)
2. Uso un classico modello master-details (una TADOTable master sulla
TJvDBUltimGrid1 e un'altra per la TJvDBUltimGrid2 di dettaglio).
Show full article (2.27Kb)
no comments
Re: TJvDBUltimGrid e onUserSort         


Author: gpcaretti
Date: Jun 3, 2008 10:41

On Jun 3, 5:13 pm, none...@none.it (Rockio) wrote:
> Sì, devi fare tu la query.
> questo è un esempio funzionante:

Ottimo. Grazie!

Aggiungo però un commento: la tua "user sort" prevede che la
TJvDBUltimGrid sia collegata ad una TADOQuery per la quale riscrivi la
SELECT:

with dsProvince do begin
Close;
sql.clear;
sql.Add('SELECT PROVINCIA.DEN_PROVINCIA...
...

Ma come la mettiamo se la TJvDBUltimGrid è associata ad una
TADOTable? Io uso quella poiché:
1. i dati che visualizzo devono essere anche editabili (non vorrei
avere una TADOQuery per la view e una TADOTable per la edit)
2. Uso un classico modello master-details (una TADOTable master sulla
TJvDBUltimGrid1 e un'altra per la TJvDBUltimGrid2 di dettaglio).
Show full article (1.14Kb)
no comments
Re: TJvDBUltimGrid e onUserSort         


Author: Rockio
Date: Jun 3, 2008 13:31

gpcaretti ha scritto:

ciao,
> Ma come la mettiamo se la TJvDBUltimGrid è associata ad una
> TADOTable? Io uso quella poiché:

non utilizzo i componenti ADO ma i Zeos, per cui non so aiutarti ma
dovrebbe essere lo stesso per una TADOquery;
> 1. i dati che visualizzo devono essere anche editabili (non vorrei
> avere una TADOQuery per la view e una TADOTable per la edit)

credo siano editabili, se è un dataset, magari gli utilizzatori di ADO
sapranno rispondere meglio di me;
> 2. Uso un classico modello master-details (una TADOTable master sulla
> TJvDBUltimGrid1 e un'altra per la TJvDBUltimGrid2 di dettaglio).

ok;
> In questo caso non posso riscrivere la SELECT e il mio ordinamento non
> è ottenibile semplicemente settando i campi "IndexFieldNames" o
> simili. Quello che vorrei fare è:
> - recuperare le righe dalla TADOTable
> - riordinarli io
> - passarle la TADOTable riordinata.
Show full article (2.10Kb)
no comments