Dopo aver caricato il datasource della combobox winforms vorrei selezionare quella della persona di cui vado a visualizzare i dettagli, ma non funziona, e mostra sempre la prima città della combobox, qualche idea su come rimediare?

Con i DataSet era tanto semplice, non capisco perchè con linq non va

private void Form_Load(object sender, EventArgs e)
{
var elenco_citta = from citta in DB.Elenco_Citta
select new { citta.citta, citta.id_citta };

domicilio_id_cittaComboBox.DataSource = elenco_citta.ToArray();
domicilio_id_cittaComboBox.DisplayMember = "citta";
domicilio_id_cittaComboBox.ValueMember = "id_citta";

var persone = from person in DB.Persone
where person.id_persona == Id_persona
select person;

personeBindingSource.DataSource = persone.ToArray();

domicilio_id_cittaComboBox.SelectedValue = from person in DB.Persone
where person.id_persona == Id_persona
select person.domicilio_id_citta;
}
Modificato da fileman il 05 giugno 2009 18.57 -

jQuery & Azure ... come ho fatto a stare senza fin'ora!

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
45 messaggi dal 16 ottobre 2007
www.lucatrombin.it
Ciao,

credo che il problema sia dovuto al fatto che usi come data source per personeBindingSource un array di oggetti person senza specificare DisplayMember e ValueMember prima di fare il binding di personeBindingSource stesso.

Nel momento in cui poi vai ad indicare il SelectedValue per personeBindingSource ovviamente la combobox non sa cosa selezionare non sapendo quale attributo utilizzare per la selezione dell'oggetto person.

Ciao,

Luca
ho provato a caricare prima l'elenco delle città e poi personeBindingSource, ma non cambia niente.
Addirittura quando seleziono una città dall'elenco nella combobox, quando passo ad un altro campo del from persone invece del nome mi visualizza il valore di id_citta.... mi sa che se faccio con i cari vecchi dataset faccio prima

+++++

correzzione, con un dataset come source per la combobox delle citta si vede solo il valore di id_citta, Displaymember e valuemember sono ok
Modificato da fileman il 08 giugno 2009 19.13 -

jQuery & Azure ... come ho fatto a stare senza fin'ora!

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
45 messaggi dal 16 ottobre 2007
www.lucatrombin.it
Ciao, ma Id_persona è valorizzato debuggando quando viene assegnato il selected value?

Hai provato a debuggare fino al punto in questione?

Ciao,

Luca
ho provato a fargli fare il debug istruzione per istruzione, arrivato a questo punto:

domicilio_id_cittaComboBox.SelectedValue = from person in DB.Persone
where person.id_persona == Id_persona
select person.domicilio_id_citta;

ottengo: "domicilio_id_cittaComboBox.SelectedValue = 1" , ma nel form non cambia nulla

jQuery & Azure ... come ho fatto a stare senza fin'ora!

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
45 messaggi dal 16 ottobre 2007
www.lucatrombin.it
Ascolta, hai provato a vedere cosa ti ritorna domicilio_id_cittaComboBox[0].id_citta?

Oppure prova a vedere cosa ti ritorna questo:

from citta in DB.Elenco_Citta
select new { citta.citta, citta.id_citta };
where id_citta = 1

Altra domanda: id_citta è un intero oppure una stringa?

Ciao,

Luca
pinguino ha scritto:


Altra domanda: id_citta è un intero oppure una stringa?

Ciao,

Luca


infatti pensavo proprio a questo, siccome id_citta è intero ed ovviamente citta una stringa, potrebbe creare problemi con linq?

però c'è anche un errore nel richiamare il valore, perchè ho fatto questa prova:
textBox1.Text = domicilio_id_cittaComboBox.SelectedValue.ToString();
ed il risultato è un campo vuoto.
Modificato da fileman il 10 giugno 2009 16.20 -

jQuery & Azure ... come ho fatto a stare senza fin'ora!

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
45 messaggi dal 16 ottobre 2007
www.lucatrombin.it
La vosa migliore che puoi fare è sicuramente dargli un valore di SelectedValue dello stesso tipo di quello che usi con id_citta dato che il ValueMember è settato a "id_citta", ed ovviamente è con questo valore che viene confrontato!

ciao,

Luca

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
    In primo piano

    I più letti di oggi

    Media
    In evidenza
    MISC