Ho un problema stupidissimo (o almeno credo). Nonostante tutto non riesco a risolverlo.
Quando uno vuole collegare a una table una Combobox usa questo codice:
codice:
Combobox1.DataSource = "Tabella a cui ci si riferisce"
Combobox1.DisplayMember = "Campo da visualizzare"
Combobox1.ValueMember = "ID del campo che viene selezionato"
Combobox1.DataBindings.Add("Text", BindingSource (anche un'altra bindingsource), "Campo da visualizzare come binding")
Quindi, analogamente, quando collego una DataGridView con una ComboBox dovrei scrivere:
codice:
DataGridView.DataSource = "BindingSource1"
DataGridViewComboBox1.DataSource = "Tabella a cui ci si riferisce (anche non della BindingSource1)"
DataGridViewComboBox1.DisplayMember = "Campo da visualizzare"
DataGridViewComboBox1.ValueMember = "ID del campo che viene selezionato"
DataGridViewComboBox1.DataPropertyName = "Nome del campo da collegare (Vorrei che fosse di BindingSource1)"
Se il nome del campo fa parte della stessa tabella, tutto bene. Se invece è una tabella in un'altra bindingSource, mi esce il seguente messaggio:
Si è verificata la seguente eccezione in DataGridView.
System.FormatException: Valore di ComboBoxCell non valido.
Per sostituire questa finestra di dialogo predefinita, gestire l'evento DataError
Cosa ho sbagliato?
Vorrei fare un modulo per le fatture.
Scelgo l'articolo nella tendina articoli e copio gli altri valori nella sottomaschera della fattura.
Grazie a chi mi risponderà.