Esiste un modo per gestire la modifica dinamica di un menu a discesa per una singola riga in una finestra di dati basata su griglia?Esiste un modo per gestire la modifica dinamica di un menu a discesa per una singola riga in una finestra di dati basata su griglia?
Esempio:
NAME LIKABILITY PURCHASED IN COLOUR
(Text) (DropDown*) (Text) (Text)
Bananas [Good] Hands Yellow
[Bad]
[Bananas are good]
Apples [Good] Bags Red
[Bad]
premesso è un DataWindow basato su una griglia, dove i campi NAME
, PURCHASED IN
e COLOUR
sono campi di testo, in cui il campo LIKABILITY
è una discesa *.
Dico dropdown * perché è possibile creare la stessa rappresentazione visiva utilizzando DropDownList (hardcoded nell'elemento datawindow in fase di progettazione) o DropDownDW (o DDDW, un'istruzione select che può essere basata su altri elementi nel DataWindow).
Tuttavia, non v'è alcun modo per ottenere Bananas
avere è 3 menù a discesa, mentre le mele ha solo 2.
Se entro più righe di Bananas
, quindi tutte le righe hanno 3 menù a discesa, ma non appena aggiungo una riga di mele, tutti i menu a discesa ripristinano 2 selezioni.
Per tentare di ottenere questa funzionalità, ho provato le seguenti opzioni:
dw_1.Object.likability.values("Good~tG/Bad~tB/Bananas are good~tDRWHO")
su ue_itemchange durante la modifica NAME.FAILS: modifica tutte le istanze di LIKABILITY anziché la riga corrente.
Dropdown duplicati, con un elenco di selezione filtrato e non filtrato per riga, visibile in base alla selezione NAME.
FAILS: impossibile impostare le colonne di visibilità/sovrapposte nella finestra di dati basata sulla griglia. (Source)
Valore visualizzazione codice hard come valore Database o Vice Versa. Avere
GOOD
,BAD
,BANANASAREGOOD
come valori di visualizzazione e database e modificare la gestione delle opzioni da G, B, DRWHO a questi nuovi valori.FAILS: terza opzione per tutte le righe, ancora selezionabile su righe Apple, che è errata.
DDDW recupera l'elenco di opzioni per il menu a discesa. Creare un DDDW che utilizza il valore di NAME per determinare quali selezioni deve avere per il menu a discesa.
FAILS: modifica tutte le istanze del menu a discesa, non solo la riga corrente.
DDDW recupera contatore delle opzioni disponibili (se B poi 3 altro 2), quindi dispone di colonne a discesa duplicate che proteggono/non protette in base al contatore DDDW.
FAILS: Impossibile selezionare automaticamente il valore di dddw per popolare la colonna per causare la protezione su altre due colonne, soluzione brutta in ogni caso.
v'è ora un taglia su questo problema per tutti coloro che mi può dare una soluzione che mi permetterà di modificare una colonna di discesa per una singola riga su una DataWindow grid-based in PB 10,5
Questa è la risposta più vicina alla soluzione con cui sono andato. Sono stato in grado di manipolare l'evento rowchange per modificare il menu a discesa in modo che fosse specifico per qualsiasi riga l'utente stesse selezionando. Cercando di fare clic sul menu a discesa di un'altra riga è un evento rowchange, cambiando il menu a cascata in un'altra soluzione. L'ho fatto tramite un menu a discesa statico, cambiandolo con la sintassi dwcontrol.object.column.values sul metodo rowchange. – glasnt
Interessante. Funziona bene su una grande finestra di dati? –