Differenze tra le versioni di "Individuare la cella della GridView nella quale si è cliccato"

Da Gambas-it.org - Wikipedia.
 
(5 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 due modalità.
+
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 proprietà:
+
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'Evento "_Click()" della Classe ''GridView'', sollevato nel caso in cui l'utente clicca all'interno di una cella.  
+
che verranno poste nella routine dell'Evento "_Click()" della Classe ''GridView'', sollevato nel caso in cui l'utente clicca all'interno di una cella.
  
Nel semplice 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".
+
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()
 
  Public Sub Form_Open()
 
   
 
   
Riga 34: Riga 56:
 
  Public Sub GridView1_Click()   
 
  Public Sub GridView1_Click()   
 
   
 
   
   With GridView1
+
   Print "Testo raccolto: "; GridView1<FONT Color=red>.Current</font>.Text   
    Print "  Riga n. "; .Row
 
    Print "Colonna n. "; .Column
 
 
    Print "Testo raccolto: "; GridView1.Current.Text   
 
    Print
 
  End With
 
 
   
 
   
 
  End
 
  End
Riga 46: Riga 62:
  
  
===2<SUP>a</sup> modalità===
+
===3<SUP>a</sup> modalità===
Le seconda 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.
+
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()
 
  Public Sub GridView1_MouseUp()
 
   
 
   
 
   Dim r, c As Integer
 
   Dim r, c As Integer
 
    
 
    
   r = GridView1.RowAt(Mouse.Y)
+
   r = GridView1<FONT Color=red>.RowAt</font>(Mouse.Y)
   c = GridView1.ColumnAt(Mouse.X)
+
   c = GridView1<FONT Color=red>.ColumnAt</font>(Mouse.X)
 
   
 
   
 
   Print r, c
 
   Print r, c

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