Autore Topic: [Risolto] Columnview: modificare proprietà .current da codice  (Letto 1063 volte)

Offline g.grandi

  • Gambero
  • **
  • Post: 51
    • Mostra profilo
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
« Ultima modifica: 01 Novembre 2014, 01:15:35 da g.grandi »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.270
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Columnview: modificare proprietà .current da codice
« Risposta #1 il: 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
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline g.grandi

  • Gambero
  • **
  • Post: 51
    • Mostra profilo
Re: Columnview: modificare proprietà .current da codice
« Risposta #2 il: 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.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.270
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Columnview: modificare proprietà .current da codice
« Risposta #3 il: 31 Ottobre 2014, 17:23:45 »
Ho posto la questione nel forum spagnolo.
Vediamo se possono aiutarti.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.270
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Columnview: modificare proprietà .current da codice
« Risposta #4 il: 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... "
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline g.grandi

  • Gambero
  • **
  • Post: 51
    • Mostra profilo
Re: Columnview: modificare proprietà .current da codice
« Risposta #5 il: 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

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Columnview: modificare proprietà .current da codice
« Risposta #6 il: 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:
:ciao:

Offline g.grandi

  • Gambero
  • **
  • Post: 51
    • Mostra profilo
Re: [Risolto] Columnview: modificare proprietà .current da codice
« Risposta #7 il: 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