Ciao,
un'alternativa potrebbe essere costituita da tre spinner o, meglio ancora, da tre combobox in sola lettura posti su panel principale.
All'inizio carichi il primo CB e negli altri due proponi valori di default o vuoti; poi, quando l'utente seleziona un valore qualunque del primo CB (nel tuo caso Categoria), invalidi i due CB a cascata e li riempi con dati reltivi alla prima scelta.
In pratica gestisci solo gli eventi OnChange dei CB.
Umberto