Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: g.grandi - 30 Ottobre 2014, 00:24:56

Titolo: [Risolto] Columnview: modificare proprietà .current da codice
Inserito da: g.grandi - 30 Ottobre 2014, 00:24:56
Salve a tutti,
sono alle prese con la ColumnView seguente (vedi immagine allegata):

In base al valore di releasenumber (della prima colonna) devo individuare il record corrispondente e settarlo come corrente da codice. In pratica, come se facessi click con il mouse su quel record. Purtroppo mi sono perso fra i vari metodi .Move e non sono ancora riuscito a raggiungere tale condizione. Chiedo a voi un aiuto per la soluzione del mio problema.

Grazie anticipatamente, Giovanni
Titolo: Re: Columnview: modificare proprietà .current da codice
Inserito da: vuott - 30 Ottobre 2014, 01:08:20
Se devi modificare il testo della proprietà .Current da codice quando clicchi su una colonna, devi sollevare l'evento _Click() della Classe ColumnView.


Esempio:
Codice: gambas [Seleziona]
Public Sub ColumnView1_Click()  
  
  ColumnView1.Current.Text = "modificato"
 
End
Titolo: Re: Columnview: modificare proprietà .current da codice
Inserito da: g.grandi - 30 Ottobre 2014, 09:43:07

No. La gestione del mouse riesco già a gestirla. Il mio problema è l'inverso. Da codice, devo ricercare il record che ha il campo ID corrisponde ad un determinato valore e devo quindi far diventare Current quel record. L'individuazione è molto semplice, ma non sono ancora riuscito a capire come farlo diventare il record corrente della columnview.
Titolo: Re: Columnview: modificare proprietà .current da codice
Inserito da: vuott - 31 Ottobre 2014, 17:23:45
Ho posto la questione nel forum spagnolo.
Vediamo se possono aiutarti.
Titolo: Re: Columnview: modificare proprietà .current da codice
Inserito da: vuott - 31 Ottobre 2014, 20:28:56
Un membro del forum spagnolo risponde così:

" No uso ese control, pero supongo que con el método MoveTo() posicionará como current la línea que desee... "
Titolo: Re: Columnview: modificare proprietà .current da codice
Inserito da: g.grandi - 01 Novembre 2014, 01:12:28
Navigando sulla rete sono riuscito a trovare risposta a questo indirizzo:

http://sourceforge.net/p/gambas/mailman/message/13181304/

In pratica la proprietà current si riferisce al record selezionato e non ha nulla a che vedere con il cursore interno spostato dai vari metodi Move. Quindi il trucco sta nel ricavare la chiave dell'item su cui è posizionato il cursore interno e rendere tale item selezionato. Grazie comunque per l'interessamento.

Giovanni
Titolo: Re: Columnview: modificare proprietà .current da codice
Inserito da: Picavbg - 01 Novembre 2014, 01:28:12
Da codice, devo ricercare il record che ha il campo ID corrisponde ad un determinato valore e devo quindi far diventare Current quel record. L'individuazione è molto semplice, ma non sono ancora riuscito a capire come farlo diventare il record corrente della columnview.

Non ho mai usato la CloumnView, ma premendo il tasto F1 e cercando nella guida interattiva,alla voce componente QT4, la classe ColumnView, trovo scritto: questa classe riceve _TreeView. Il "MoveTo" sposta il cursore interno all'elemento specificato.
Dovrebbe essere quello che fa al caso tuo.

Mi permetto una domanda: ma perchè non utilizzi la GridView al posto della ColumnView? Lo spostamento del Focus alla riga desiderata è molto semplice; basta rilevare il n° di riga in cui si trova il codice interessato ed evidenziare la nuova riga con un semplice
Codice: [Seleziona]
 Gridview1.Row = numeroriga   (sempre a partire da 0)
A questo punto il focus è spostato sulla riga appena individuata che diventa perciò la riga corrente.

Consiglio: quando si vuole ottenere un aiuto, è meglio riportare soprattutto il codice utilizzato.
 :ciao:
Titolo: Re: [Risolto] Columnview: modificare proprietà .current da codice
Inserito da: g.grandi - 01 Novembre 2014, 19:25:04
Non mi è mai capitato di utilizzare la GridView mentre la ColumnView si, ma non mi era mai capitato di utilizzare questo specifico passaggio. Ora almeno ho imparato una cosa nuova  :hard:

Giovanni