Un'altra domanda sul datagrid , ho provato a cercare, ma non ho trovato niente che mi potesse aiutare :
In un datagrid collegato ad un ADO recordset, come faccio a sapere qual è il "nome" della colonna attiva ?
Mi sono spiegata?
Grazie
Un'altra domanda sul datagrid , ho provato a cercare, ma non ho trovato niente che mi potesse aiutare :
In un datagrid collegato ad un ADO recordset, come faccio a sapere qual è il "nome" della colonna attiva ?
Mi sono spiegata?
Grazie
ben ritrovato darkblood
Ho un datagrid e l'utente si posiziona su di una cella, io devo assegnare ad una variabile il "nome" della colonna (campo) della cella selezionata...
qual'è la proprietà che mi restituisce il nome? io non l'ho trovata...
Allora avevo capito bene ! SPERAVO di non aver capito!
Questo è un controllo a dir poco indegno (il datagrid).
Devi prima posizionarti sulla riga che ti interessa e poi tirare fuori il valore.
con questo codice, ogni volta che clicchi sulla griglia col tasto sx del mouse (button=1) indichi al prog che stai cliccando su una riga valida (se rowcontaining(y) ed ..(x) sono diversi da -1 [che vuol dire fuori griglia]):
(nb: Riga è una variabile creata da te, può essere boolean o byte)
Poi, con questo ti tiri fuori il valore della cella della riga sulla quale fai doppio click ( che linguaggio incasinato che uso a volte):codice:Private Sub dgDati_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 And dgDati.RowContaining(Y) <> -1 And dgDati.ColContaining(X) <> -1 Then Riga = 1 Else Riga = 0 End If End Sub
Con questo codice dovresti ottenere anche l'effetto di evidenziazione della riga sulla quale hai cliccato.codice:Private Sub DataGrid_dblClick() If Riga = 1 Then DataGrid.SelBookmarks.Add DataGrid.Bookmark Valore = DataGrid.Columns(TuaColonna).Value end if end sub
Se fai variare il valore di TuaColonna, otterrai il valore contenuto nella cella della rispettiva colonna indicata (TuoValore).
Cioè se scrivi:
Valore = DataGrid.Columns(0).Value
otterrai il valore scritto nella prima cella della riga su cui hai cliccato.
Si lo so, la spiegazione è stata penosa, se ti ho confusa dimmelo, cercherò di spiegartelo in un italiano + corretto.
:gren:
ehm ehm....
il mio problema è variare "TuaColonna"...
non picchiarmi Darkblood...
quando l'utente è sul grid come faccio a sapere dov'è esattamente?
Cmq il codice che mi hai postato mi è molto utile, Grazie!
prova ad analizzare RowContaining(x) e RowContaining(Y) del DataGrid, se non mi ricordo male dovrebbero indicarti le coordinate della cella sulla quale ti sei posizionata.
Adesso vedo se trovo qualche modo e magari ti posto qualcosa di + concreto.
Ciao
niente di + semplice:
Con questo codice metti in VALORE il testo contenuto nella cella sulla quale fai click.codice:Private Sub DataGrid_dblClick() If Riga = 1 Then DataGrid.SelBookmarks.Add DataGrid.Bookmark Valore = DataGrid.text end if end sub
Grassssssssssssie, non ho ancora provato, ma sicuramente mi funzionerà!!!
(oggi sono ottimista!)
Ho seguito con attenzione il vostro questionare, siccome da poco ho iniziato a programmare in vb, potrei sapere come posso popolare un datagrid??
Questo script è il mio script
Set rs = conn.Execute(stringa select..., , adCmdText)
Set grdData.DataSource = rs
Invece questo è l'errore
Impossibile assegare segnalibri al gruppo di righe
Grazie