It is currently 21 April 2025, 13:21 Advanced search

Campo con query lista valori non mantiene il testo digitato

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Campo con query lista valori non mantiene il testo digitato

Postby smuser » 19 March 2025, 15:26

Ciao
sto cercando di implementare lo stesso comportamento descritto in questo post "Combo Box autopulente" (https://forum.instantdeveloper.com/viewtopic.php?f=5&t=86276&p=158130&hilit=idcombo#p158130)

In pratica ho configurato su un campo un query lista valori, il campo 'attivo' (e ho anche attivato il flag 'per ogni tasto').

Il problema è che la combobox lascia il testo solo se il testo scritto non viene trovato in nessuno dei valori presenti. Se invece il testo corrisponde parzialmente con uno o più valori viene selezionato sempre il primo della lista e non mi permette di mantenere il testo digitato. Come si vede nell'immagine sotto il valore risulta già selezionato e quando cambio focus sostituirà il valore digitato.

campocombobox.png
campocombobox.png (2.75 KiB) Viewed 158 times


Il punto del codice dove aggiunge il primo valore ritornato dalla ricerca agli item selezionati (quelli usati per valorizzare il campo alla chiusura della combo) è questo:
codicejs.aspx.png
codicejs.aspx.png (7.11 KiB) Viewed 158 times


Ovviamente questo comportamento mi impedisce di inserire valori che somigliano all'inizio di altri valori e non è il comportamento che devo implementare.

INDE 24.5 - tema Bootstrap

Si tratta di un bug oppure c'è qualche opzione da abilitare/disabilitare per evitare questo comportamento?
Grazie
Stefano
User avatar
smuser
 
Posts: 289
Joined: 3 May 2019, 10:41
Location: Milano

Re: Campo con query lista valori non mantiene il testo digit

Postby d.pierangeli » 19 March 2025, 15:57

Forse il problema è lo spazio.
Non è previsto che il testo della combo contenga lo spazio e questo viene usato per selezionare il valore. Prova a personalizzare quella funzione e a togliere la gestione dello spazio.
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 8092
Joined: 30 September 2010, 15:35

Re: Campo con query lista valori non mantiene il testo digit

Postby smuser » 20 March 2025, 15:30

Ciao Diego,
intanto grazie per la risposta.
Ho visto che il metodo ValueList.FilterComboItem fa la ricerca per startWith e a me va bene.
Sulla stessa lista viene poi invocato il metodo GetNextVisibleItem che valorizza la variabile HLItem con il primo elemento ritornato dal filtro.

Il problema è quindi nelle righe 598 e 599 e provando a commentarle la combo si comporta come voglio, ovvio non mi seleziona più il primo elemento, devo selezionarlo con il mouse ma penso sia accettabile.

Devo solo trovare il modo per abilitare questo comportamento solo su alcuni campi e lasciarlo come ora per tutti gli altri (penso che userò una classe css che intercetto poi nel codice).

Pensavo che una possible miglioria lato INDE potrebbe essere quella di creare una funzione tipo "CustomSelectFirstElement()" da aggiungere in and nell'if che di default torna true ma se si vuole customizzare il comportamento in oggetto si ridefinisce solo quella funzione. Non so se rientra nelle caratteristiche di parti customizzabili già gestite da voi con stessa metodologia.

Code: Select all
// Seleziono il primo item visibile della lista
if (this.HLItem && CustomSelectFirstElement())
    this.SelItems.push(this.HLItem);



[...]
IDCombo.prototype.CustomSelectFirstElement = function() {
    return true;
}
User avatar
smuser
 
Posts: 289
Joined: 3 May 2019, 10:41
Location: Milano


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Google [Bot], Majestic-12 [Bot] and 56 guests

cron