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

Da Gambas-it.org - Wikipedia.
 
(3 versioni intermedie di uno stesso utente non sono mostrate)
Riga 7: Riga 7:
 
e
 
e
 
  GridView1.Row As Integer
 
  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.  
+
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:
+
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".
  '''Public''' Sub Form_Open()   
+
  Public Sub Form_Open()
 
+
   
 
   With GridView1   
 
   With GridView1   
 
     .Columns.count = 3   
 
     .Columns.count = 3   
Riga 18: Riga 18:
 
    
 
    
 
   GridView1[0, 0].Text = "zero e zero"
 
   GridView1[0, 0].Text = "zero e zero"
 +
  GridView1.Columns[0].Width = -1      <FONT Color=gray>'</font> <SUP>&#091;[[#Note|nota 1]]&#093;</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 29:
 
   GridView1[2, 2].Text = "due e due"   
 
   GridView1[2, 2].Text = "due e due"   
 
    
 
    
  '''End'''  
+
  End
 
+
   
 
+
  '''Public''' Sub GridView1_Click()   
+
  Public Sub GridView1_Click()   
 
+
 
   With GridView1
 
   With GridView1
 
     Print "  Riga n. "; .Row
 
     Print "  Riga n. "; .Row
 
     Print "Colonna n. "; .Column
 
     Print "Colonna n. "; .Column
 
   
 
   
     Print "Testo raccolto: "; GridView1[.Row, .Column].Text   
+
     Print "Testo raccolto: "; GridView1.Current.Text   
 
     Print
 
     Print
 
   End With
 
   End With
 
+
  '''End'''
+
  End
  
  
Riga 46: Riga 48:
 
===2<SUP>a</sup> modalità===
 
===2<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.
 
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.
  '''Public''' Sub GridView_Click()
+
  Public Sub GridView1_MouseUp()
 +
 +
  Dim r, c As Integer
 
    
 
    
   Dim r, c As Integer
+
   r = GridView1.RowAt(Mouse.Y)
   
+
  c = GridView1.ColumnAt(Mouse.X)
  r = GVw.RowAt(Mouse.Y)
 
  c = GVw.ColumnAt(Mouse.X)
 
 
   
 
   
  Print r;; c
+
  Print r, c
 
   
 
   
  '''End'''
+
  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 05:02, 23 lug 2023

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à.


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.

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".

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()  

 With GridView1
   Print "   Riga n. "; .Row
   Print "Colonna n. "; .Column

   Print "Testo raccolto: "; GridView1.Current.Text  
   Print
 End With

End


2a 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.

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