Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Visualizzare i dettagli di un record cliccando su una griglia di riepilogo

69 views
Skip to first unread message

Alfio Boi

unread,
Jan 11, 2006, 10:25:51 AM1/11/06
to
Salve,

ho una griglia che contiene alcuni campi significativi di una tabella con lo
scopo di far visualizzare all'utente la lista dei clienti inseriti. Dovrei
fare in modo che cliccando su una colonna della griglia mi si apra il form
che contiene tutti i campi relativi al record cliccato. Credo di dover usare
l'evento oncellclick ma non so andare avanti...

Grazie


Alberto Salvati

unread,
Jan 11, 2006, 10:38:25 AM1/11/06
to
io userei un altro evento. vedi nell'OI e guarda un po la guida.

Ti serve una form con dei controlli per mostrare i dati del record
selezionato.
Questa form prende i dati da una query messa in un data module che ha
una sintassi del tipo:

select * from tabella where campo = :valore

valore è la pk del record selezionato.

AS

MaoSw

unread,
Jan 11, 2006, 10:41:30 AM1/11/06
to
"Alfio Boi" <alfi...@fastwebnet.it> ha scritto nel messaggio
news:4s9xf.26281$av6....@tornado.fastwebnet.it...

Le informazioni che fornisci sono un poco scarsette, comunque .....

Se vuoi che il form si apra solo se clicchi su una colonna in particolare
devi testare che il numero della colonna su cui sei posizionato sia quello
giusto,
poi (come creare un form partendo da un'altro dovresti saperlo e non sto a
spiegartelo)
sul nuovo form metti i riferimenti ai campi del record che ti interessa
visualizzare.

Ciao

Marco

Alfio Boi

unread,
Jan 11, 2006, 10:58:55 AM1/11/06
to
Vorrei che il form si aprisse quando si clicca su una riga qualsiasi
visualizzando il record relativo a quella riga. Sto trovando la strada
utilizzando l'evento onclick ma non so come ricavare il numero di record.
Sto cercando di utilizzare la property SelectedRows che però mi restituisce
una list. Non so come puntare al primo elemento (essendo una griglia in cui
il Multiselect è impostato su false la List dovrebbe contenere un solo
elemento.
Grazie per l'aiuto

"MaoSw" <mar...@NOSPAMtin.it> ha scritto nel messaggio
news:43c526fe$0$1080$4faf...@reader1.news.tin.it...

MaoSw

unread,
Jan 11, 2006, 12:18:12 PM1/11/06
to

"Alfio Boi" <alfi...@fastwebnet.it> ha scritto nel messaggio
news:5X9xf.26342$av6....@tornado.fastwebnet.it...

> Vorrei che il form si aprisse quando si clicca su una riga qualsiasi
> visualizzando il record relativo a quella riga. Sto trovando la strada
> utilizzando l'evento onclick ma non so come ricavare il numero di record.
> Sto cercando di utilizzare la property SelectedRows che però mi
> restituisce una list. Non so come puntare al primo elemento (essendo una
> griglia in cui il Multiselect è impostato su false la List dovrebbe
> contenere un solo elemento.
> Grazie per l'aiuto
>

Ciao,

forse ti stai perdendo in un niente. :-D

Per sapere il nr. di record l'instruzione è

tabella.RECNO


Ciao
Marco

Alfio Boi

unread,
Jan 11, 2006, 12:30:26 PM1/11/06
to
Ciao,

effettivamente era come dicevi tu e mi stavo perdendo in un bicchiere
d'acqua. Ad ogni modo il RECNO mi restituisce il numero di riga della
tabella (cambiando l'ordinamento dei record me ne sono accorto). La
soluzione l'avevo pure trovata ed era
Dbgrid.datasource.dataset.Fieldbyname('ID') che restituiva l'ID del record
ma poi mi sono accorto che era inutile perché, utilizzando sia la tabella
che il form la stessa datasource, quest'ultimo si apriva automaticamente al
record selezionato sulla tabella.
Comunque grazie


"MaoSw" <mar...@NOSPAMtin.it> ha scritto nel messaggio
news:43c53da9$0$1073$4faf...@reader1.news.tin.it...


>
> "Alfio Boi" <alfi...@fastwebnet.it> ha scritto nel messaggio
> news:5X9xf.26342$av6....@tornado.fastwebnet.it...
>> Vorrei che il form si aprisse quando si clicca su una riga qualsiasi
>> visualizzando il record relativo a quella riga. Sto trovando la strada
>> utilizzando l'evento onclick ma non so come ricavare il numero di record.

>> Sto cercando di utilizzare la property SelectedRows che perņ mi

>> restituisce una list. Non so come puntare al primo elemento (essendo una

>> griglia in cui il Multiselect č impostato su false la List dovrebbe

>> contenere un solo elemento.
>> Grazie per l'aiuto
>>
>
> Ciao,
>
> forse ti stai perdendo in un niente. :-D
>

> Per sapere il nr. di record l'instruzione č
>
> tabella.RECNO
>
>
> Ciao
> Marco
>
>
>


Andrea Laforgia

unread,
Jan 11, 2006, 2:05:30 PM1/11/06
to
On Wed, 11 Jan 2006 16:25:51 +0100, "Alfio Boi"
<alfi...@fastwebnet.it> wrote:

>[...]ho una griglia che contiene alcuni campi significativi di una tabella con lo

>scopo di far visualizzare all'utente la lista dei clienti inseriti. Dovrei
>fare in modo che cliccando su una colonna della griglia mi si apra il form
>che contiene tutti i campi relativi al record cliccato.

Sul doppio click (vedi evento relativo), ti basta utilizzare il record
del dataset a cui punta il datasource, a cui punta la dbgrid. Sei
automaticamente posizionato sul record quando ti sposti nella griglia
(non c'è *alcun* bisogno di ricorrere al RecNo).

Giorgio Padoan

unread,
Jan 13, 2006, 10:09:37 AM1/13/06
to
Se usi componenti Tdb come ad es. TDBEdit non c'e' bisogno di saper
nient'altro, salvo impostare il loro DataSource e DataField.

Ciao, Giorgio


"Alfio Boi" <alfi...@fastwebnet.it> ha scritto nel messaggio

news:4s9xf.26281$av6....@tornado.fastwebnet.it...

MimmoneDaVietri

unread,
Jan 20, 2006, 6:26:06 PM1/20/06
to
Se ho capito bene hai una DBGrid e con DoubleClick vorresti riempire un
form, o meglio i controlli che vi sono sopra, coi dati ???

Se cosě fosse mi pare ci sia un evento OnDblClick (non usare OnClick che
serve per selezionare).
Quando fai DblClick il DBGrid.DataSource.Dataset si psoiziona su quel
record. A te non serve sapere che numero ha (comunque sarebbe
DBGrid.DataSource.DataSet.Recno) ma semplicemente leggerne i dati, ovvero
Edit1.Text:=DBGrid.DataSource.DataSet.FieldByName('Pippo').asstring.
Potresti risolvere tutto piů agevolmente usando dei controlli DBAwere come
il DBEdit che automaticamente si valorizza col campo specificato del record
corrente (quello che hai selezionato col DblClick.

Ciao
Mimmo

"Alfio Boi" <alfi...@fastwebnet.it> ha scritto nel messaggio

news:5X9xf.26342$av6....@tornado.fastwebnet.it...


> Vorrei che il form si aprisse quando si clicca su una riga qualsiasi
> visualizzando il record relativo a quella riga. Sto trovando la strada
> utilizzando l'evento onclick ma non so come ricavare il numero di record.

> Sto cercando di utilizzare la property SelectedRows che perň mi


restituisce
> una list. Non so come puntare al primo elemento (essendo una griglia in
cui

> il Multiselect č impostato su false la List dovrebbe contenere un solo

0 new messages