Differenze tra le versioni di "Individuare la cella della GridView nella quale si è cliccato"
(7 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | Per individuare la cella di una ''GridView'' (così come anche di una ''TableView'') sulla quale si è cliccato con il puntatore del mouse, vi sono almeno | + | Per individuare la cella di una ''GridView'' (così come anche di una ''TableView'') sulla quale si è cliccato con il puntatore del mouse, vi sono almeno tre modalità. |
− | |||
===1<SUP>a</sup> modalità=== | ===1<SUP>a</sup> modalità=== | ||
− | La prima modalità prevede l'individuazione ''ad incrocio'' del numero d'indice della colonna e quello della riga. Per fare ciò, si utilizzano rispettivamente le | + | La prima modalità prevede l'individuazione ''ad incrocio'' del numero d'indice della colonna e quello della riga. |
− | GridView1.Column As Integer | + | <BR>Per fare ciò, si utilizzano rispettivamente le Proprietà: |
+ | GridView1<FONT Color=red>.Column</font> As Integer | ||
e | e | ||
− | GridView1.Row As Integer | + | GridView1<FONT Color=red>.Row</font> As Integer |
− | che verranno poste nella routine dell' | + | che verranno poste nella routine dell'Evento "_Click()" della Classe ''GridView'', sollevato nel caso in cui l'utente clicca all'interno di una cella. |
+ | |||
+ | Esempio pratico: | ||
+ | Public Sub Form_Open() | ||
+ | |||
+ | With GridView1 | ||
+ | .Columns.count = 3 | ||
+ | .Rows.Count = 3 | ||
+ | End With | ||
+ | |||
+ | End | ||
+ | |||
+ | |||
+ | Public Sub GridView1_Click() | ||
+ | |||
+ | GridView1[GridView1<FONT Color=red>.Row</font>, GridView1<FONT Color=red>.Column</font>].Background = Color.Red | ||
+ | |||
+ | End | ||
+ | |||
+ | |||
+ | ===2<SUP>a</sup> modalità=== | ||
+ | Le seconda modalità prevede l'uso della Proprietà ".Current" della Classe ''GridView''. | ||
+ | <BR>In realtà con questa modalità si potranno raccogliere alcuni valori posseduti dalla cella individuata, ma non le sue coordinate. | ||
− | + | Nell'esempio che segue, vengono raccolti non solo gli indici della colonna e della riga che definiscono la cella cliccata, ma anche il testo in essa contenuto attraverso la Proprietà ".Current.Text". | |
− | + | Public Sub Form_Open() | |
− | + | ||
With GridView1 | With GridView1 | ||
.Columns.count = 3 | .Columns.count = 3 | ||
Riga 18: | Riga 40: | ||
GridView1[0, 0].Text = "zero e zero" | GridView1[0, 0].Text = "zero e zero" | ||
+ | GridView1.Columns[0].Width = -1 <FONT Color=gray>'</font> <SUP>[[[#Note|nota 1]]]</sup> | ||
GridView1[0, 1].Text = "zero e uno" | GridView1[0, 1].Text = "zero e uno" | ||
GridView1[0, 2].Text = "zero e due" | GridView1[0, 2].Text = "zero e due" | ||
GridView1[1, 0].Text = "uno e zero" | GridView1[1, 0].Text = "uno e zero" | ||
GridView1[1, 1].Text = "uno e uno" | GridView1[1, 1].Text = "uno e uno" | ||
+ | GridView1.Columns[1].Width = -1 | ||
GridView1[1, 2].Text = "uno e due" | GridView1[1, 2].Text = "uno e due" | ||
GridView1[2, 0].Text = "due e zero" | GridView1[2, 0].Text = "due e zero" | ||
Riga 27: | Riga 51: | ||
GridView1[2, 2].Text = "due e due" | GridView1[2, 2].Text = "due e due" | ||
− | + | End | |
− | + | ||
− | + | ||
− | + | Public Sub GridView1_Click() | |
− | + | ||
− | + | Print "Testo raccolto: "; GridView1<FONT Color=red>.Current</font>.Text | |
− | |||
− | |||
− | + | End | |
− | |||
− | |||
− | |||
− | |||
− | === | + | ===3<SUP>a</sup> modalità=== |
− | + | La terza modalità prevede l'acquisizione degli indici della riga e della colonna puntati rispettivamente da una posizione verticale ed orizzontale definita dal cursore del mouse che ha scatenato l'evento clic. | |
− | + | Public Sub GridView1_MouseUp() | |
+ | |||
+ | Dim r, c As Integer | ||
− | + | r = GridView1<FONT Color=red>.RowAt</font>(Mouse.Y) | |
− | + | c = GridView1<FONT Color=red>.ColumnAt</font>(Mouse.X) | |
− | |||
− | |||
− | + | Print r, c | |
− | + | End | |
+ | |||
+ | |||
+ | |||
+ | =Note= | ||
+ | [1] Vedere questa pagina: [[Adattare automaticamente l'altezza e la larghezza di una cella di una GridView al testo contenuto]] |
Versione attuale delle 08:22, 10 ago 2024
Per individuare la cella di una GridView (così come anche di una TableView) sulla quale si è cliccato con il puntatore del mouse, vi sono almeno tre modalità.
1a modalità
La prima modalità prevede l'individuazione ad incrocio del numero d'indice della colonna e quello della riga.
Per fare ciò, si utilizzano rispettivamente le Proprietà:
GridView1.Column As Integer
e
GridView1.Row As Integer
che verranno poste nella routine dell'Evento "_Click()" della Classe GridView, sollevato nel caso in cui l'utente clicca all'interno di una cella.
Esempio pratico:
Public Sub Form_Open() With GridView1 .Columns.count = 3 .Rows.Count = 3 End With End Public Sub GridView1_Click() GridView1[GridView1.Row, GridView1.Column].Background = Color.Red End
2a modalità
Le seconda modalità prevede l'uso della Proprietà ".Current" della Classe GridView.
In realtà con questa modalità si potranno raccogliere alcuni valori posseduti dalla cella individuata, ma non le sue coordinate.
Nell'esempio che segue, vengono raccolti non solo gli indici della colonna e della riga che definiscono la cella cliccata, ma anche il testo in essa contenuto attraverso la Proprietà ".Current.Text".
Public Sub Form_Open() With GridView1 .Columns.count = 3 .Rows.Count = 3 End With GridView1[0, 0].Text = "zero e zero" GridView1.Columns[0].Width = -1 ' [nota 1] GridView1[0, 1].Text = "zero e uno" GridView1[0, 2].Text = "zero e due" GridView1[1, 0].Text = "uno e zero" GridView1[1, 1].Text = "uno e uno" GridView1.Columns[1].Width = -1 GridView1[1, 2].Text = "uno e due" GridView1[2, 0].Text = "due e zero" GridView1[2, 1].Text = "due e uno" GridView1[2, 2].Text = "due e due" End Public Sub GridView1_Click() Print "Testo raccolto: "; GridView1.Current.Text End
3a modalità
La terza modalità prevede l'acquisizione degli indici della riga e della colonna puntati rispettivamente da una posizione verticale ed orizzontale definita dal cursore del mouse che ha scatenato l'evento clic.
Public Sub GridView1_MouseUp() Dim r, c As Integer r = GridView1.RowAt(Mouse.Y) c = GridView1.ColumnAt(Mouse.X) Print r, c End
Note
[1] Vedere questa pagina: Adattare automaticamente l'altezza e la larghezza di una cella di una GridView al testo contenuto