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
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
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
"MaoSw" <mar...@NOSPAMtin.it> ha scritto nel messaggio
news:43c526fe$0$1080$4faf...@reader1.news.tin.it...
Ciao,
forse ti stai perdendo in un niente. :-D
Per sapere il nr. di record l'instruzione è
tabella.RECNO
Ciao
Marco
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
>
>
>
>[...]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).
Ciao, Giorgio
"Alfio Boi" <alfi...@fastwebnet.it> ha scritto nel messaggio
news:4s9xf.26281$av6....@tornado.fastwebnet.it...
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