Ho un database contenente due tabelle, Prodotti e Licenze. Licences.ProductID
ha un riferimento a chiave esterna a Products.ProductID
(ovvero licenze per quel prodotto).Casella combinata per chiave esterna in DataGridView
Come si rappresenta tale relazione in un DataGridView di WinForms?
Quando si alimenta il DataGridView (SQL Metal e tramite LINQ su SQL), ProductLicences.ProductID, genera automaticamente una colonna con un campo di testo che si aspetta un "Prodotto" (che ovviamente non posso immettere ...) .
Come modificare questa colonna per contenere una casella combinata che elenca i prodotti disponibili?
Ho un collegamento (eredita da Linq.DataContext
), l'origine dati assegnata al DataGridView è un Link.IQueryable
, generato come tale:
var ds = from c in m_connection.Licences
select c;
Grazie! Funziona abbastanza bene. – peterchen
E se la classe Licenza ha solo un campo Prodotto e non un campo ProductID?(Non dovresti aggiungere un campo ProductID in più solo per scopi di associazione UI) –
@goku: Uh ... e se il cielo cade? È specificato nella domanda che il campo esiste ed è anche il comportamento esplicito di Linq in SQL (specificato anche nella domanda). – Aaronaught