Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Selezione elemento di una griglia
sabato 13 maggio 2006 - 15.00
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
ricky
Profilo
| Junior Member
179
messaggi | Data Invio:
sab 13 mag 2006 - 15:00
Ciao a tutti, quale evento devo utilizzare per recuperare l'ID di una specifica riga di una griglia: ho provato con click ma l'evento include (object sender e EventArgs e) e non capisco come recuperare l'ID (campo/colonna) che mi interessa.
Praticamente dovrei:
far selezionare una riga all'utente
intercettare la riga scelta -> non capisco come fare
alimentare una serie di campi -> fin qui nessun problema
a questo punto avrei bisogno di un vostro suggerimento:
dato che gli stessi campi li uso sia per creare una nuova riga sia per modificare una di quelle esistenti (appunto già presenti nella griglia) cosa mi consigliate di usare per gestire le due differenti operazioni di creazione/update??
Grazie per l'aiuto!!!
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
sab 13 mag 2006 - 18:16
Non so di che griglia si tratti, ma dovresti poter recuperare lo item selezionato dal tuo click interrogando le proprietà dell'oggetto sender, che rappresenta il controllo su cui è avvenuto il click. In pratica se la tua griglia si chiama Griglia1, sender.name sarà "Griglia1". Potresti dover operare una conversione per attivare lo intellisense sulle proprietà che ti interessano. Es.:
ctype(sender,datagridviewer).name
ricky
Profilo
| Junior Member
179
messaggi | Data Invio:
sab 13 mag 2006 - 18:27
Ufff... ho provato ma non capisco cosa devo fare e dove sbaglio
allora, ho una sorta di datagrid, una griglia di un componente esterno
DevExpress.XtraGrid.GridControl che cmq si comporta come una normale griglia
quale evento devo recuperare??? io ho preso l'evento click
ma come faccio a castare il sender??
Grazie per l'aiuto!
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
dom 14 mag 2006 - 10:31
Non conosco quel controllo. Posso dirti come ho fatto qualcosa di simile con un listview. Lì parlo di item, tu probabilmente ti riferirai a delle row, ma il concetto non dovrebbe cambiare troppo. Tieni presente che io mi riferisco all'item selezionato perchè, avendo impostato a false la possibilità di multiselezione del mio listview, so per certo che posso avere non più di un item selezionato alla volta. Io mi sono posizionato nell'evento doubleclick, ma tu potresti scegliere un evento che riguarda il cambio di riga selezionata. Purtroppo non so che interfaccia esponga la tua griglia e quindi non posso operare questa scelta al posto tuo. Il codice non è ottimizzato, perchè non ho completato quel lavoro. La variabile booleana OK potrebbe essere tolta, ma quello che interessa è che posso tranquillamente risalire allo item selezionato semplicemente chiedendolo al listview e passando lo item ad una apposita procedura ne estraggo i valori e li posiziono in appositi controlli.
Private Sub LsvReg_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles LsvReg.DoubleClick
Dim OK As Boolean = True
If Me.LsvReg.SelectedItems.Count > 0 Then
If Not Me.DaItemAiControlli(Me.LsvReg.SelectedItems(0)) Then
'Se c'è stato qualche errore, lo si annota
OK = False
End If
Else
OK = False 'Annoto la mancanza di selezione valida (la considero come un errore)
End If
If OK Then 'Se OK, cioè se le operazioni sono andata a buon fine, si passa allo stato1
MioStato = stati.VisualizzazioneDiRecordSelezionato
Me.ItemSelezionato = Me.LsvReg.SelectedItems(0) 'Si salva lo item selezionato
Me.VisualizzaScadenze(Me.LblIDReg.Text, False)
Me.RiempiLsvPagEffettuati()
'Me.ControlliPerLoStato()
End If
End Sub
ricky
Profilo
| Junior Member
179
messaggi | Data Invio:
dom 14 mag 2006 - 10:45
Grazie mille per il tuo aiuto ma non capisco come applicare il tuo esempio alla mia situazione
Come indicato nel mio precedente post ho objet sender, MouseEventArrgs e come parametri del mio evento... non ho nemmeno l'handler che hai indicato e non capisco come adattarlo alla mia situazione
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
lun 15 mag 2006 - 10:35
Dunque, se l'evento in cui lavori è l'evento click della tua griglia, il sender è la tua griglia, quindi dovrebbe bastare andare a chiedere quale è la riga attualmente selezionata nella tua griglia. In effetti il sender è utile per capire quale controllo ha dato origine ad un evento, ma solo nell'ipotesi che la routine di evento sia 'scatenabile' da più controlli, il che non mi sembra sia il tuo caso. O sbaglio?
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !