It is currently 7 June 2025, 15:31 Advanced search

Tooltip (non) impostato in OnUpdatingRow()

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Tooltip (non) impostato in OnUpdatingRow()

Postby C.Zecca » 25 June 2014, 14:45

Videata table oriented
Pannello Parametri
Un campo radio button "Tipo Soggetto" con due opzioni
Un campo di testo Nominativo

In Load()
o - viene impostato il valore iniziale per TipoSoggetto ("I"ndividuo)
o - viene impostato la caption iniziale per Nominativo ("Cognome e Nome")
o - viene impostato il tooltip iniziale per Nominativo ("Cognome e nome dell'individuo titolare dei contatti")


In Parametri.OnUpdatingRow() si modifica caption e tooltip di Nominativo in funzione del tipo di soggetto scelto

Code: Select all
// *************************************************************************************
// Evento notificato dal pannello quando un utente modifica i dati presenti nel pannello
// *************************************************************************************
event Contatti.Parametri.OnUpdatingRow(
   int Column // E' un numero intero che indica per quale campo della riga l'evento è in fase...
   boolean FieldModified    // E' un valore booleano che indica che il campo è veramente stat...
   boolean FieldWasModified // Dalla versione 6.7.2900, questo argomento indica se il campo è...
   boolean RowWasModified   // Non è consigliabile utilizzare questo argomento perchè è prese...
   boolean Inserting        // E' un valore booleano che indica se la riga attuale è in fase ...
   inout boolean Cancel     // Non utilizzare questo argomento. Per segnalare una condizione ...
)
{
   if (Column = Parametri.TipoSoggetto.me())
   {
     if (FieldWasModified)
     {
       if (Parametri.TipoSoggetto.text = Individuo)
       {
          Parametri.SEOTSoloComponenti = SI
           
          Parametri.Nominativo.caption = "Cognome e Nome"
          Parametri.Nominativo.tooltip("Cognome e nome dell'individuo titolare dei contatti")
       }
       else
       {
          Parametri.Nominativo.caption = "Denominazione"
          Parametri.Nominativo.tooltip("Denominazione dell'ente titolare dei contatti")
       }
       
       Parametri.NIComponente = null
       Rubrica.refreshQuery()
       Rubrica.layout = List
       
     }
   }

  // ...   
   
}


Il framework "sente" correttamente le modifiche a TipoSoggetto e aggiorna correttamene la caption di Nominativo
Le istruzioni di impostazioni del tooltip sono senza effetto. Rimaneva sempre "Cognome e nome dell'individuo titolare dei contatti".
Per dimostrarlo ho modificato l'impostazione del tooltip di Nominativo in Load() in "tooltip iniziale" e tale rimane a dispetto delle chiamate a tooltip() in OnUpdatingRow().

Suggerimenti?
Uso InDe 10.0.4300 R8
Qualche malfunzionamento risolto nelle release successive, forse?
C.Zecca
 
Posts: 347
Joined: 19 May 2011, 12:29

Re: Tooltip (non) impostato in OnUpdatingRow()

Postby C.Zecca » 26 June 2014, 10:50

Ho creato una microapplicazione minimale in cui il malfunzionamento è stato in parte/diversamente riprodotto.

Rileggendo la documentazione di tooltip()

"Il tooltip è una proprietà dinamica del campo di pannello: se lo si imposta durante la notifica dell'evento di OnDynamicProperties, allora il testo viene associato alla cella, altrimenti esso viene associato a tutta la colonna. "

noto che nella micropplicazione di verifica il testo impostato nella OnUpdatingRow() (e non nella OnDynamicProperties()) proprio per associarlo alla "colonna" (cosa significa in vista di dettaglio? suppongo caption di campo) viene comunque associato alla cella (campo).

Ho scritto in "parte/diversamente riprodotto" per un ulteriore differenza rispetto all'applicazione "di lavoro": in quest'ultima il tooltip impostato dinamicamente NON viene visualizzato neppure sulla cella/campo e tale campo è associato ad una lookup di ricerca.


Errore nella documentazione?

Supposto che non sia un errore, come si fa ad associare (in vista a dettaglio) il tooltip dinamicamente alla caption di un campo?
C.Zecca
 
Posts: 347
Joined: 19 May 2011, 12:29

Re: Tooltip (non) impostato in OnUpdatingRow()

Postby d.pierangeli » 26 June 2014, 12:46

Gli eventi di
- DynamicProperties
- UpdatingRow

sono eventi dinamici, quindi in questi eventi le proprietà dinamiche vengono impostate per cella e non per colonna (vedi nota dell'articolo http://doc.instantdeveloper.com/?ARTID=2E063E53-A5BB-11D5-9359-EED682000000&LANG=it).

Se vuoi cambiare il tooltip della colonna (quindi quello collegato alla caption) lo devi fare in un altro evento.

Potresti associare un tag al pannello/videata nell'evento di OnUpdatingRow e nell'evento ChangeRow se il Tag è impostato cambiare il Tooltip e svuotare il Tag.
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 8129
Joined: 30 September 2010, 15:35


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Google [Bot] and 62 guests

cron