268 messaggi dal 25 novembre 2010
ho una comboxo che riempio da database.
allo stesso tempo vorrei settare il valore rispetto a un valore che mi arriva da una DataGridView di un altro WindowsForm.
in sostanza nella finestra principale al doppio click:
        private void dataGridViewEntrate_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            List<string> list = new List<string>();
            for (int i = 0; i < dataGridViewEntrate.Rows[e.RowIndex].Cells.Count; i++)
            {
                list.Add(dataGridViewEntrate[i, e.RowIndex].Value.ToString());
            }
            FormUpdate feu = new FormUpdate(list);
            feu.Show();
        }

FormUpdate ha due ComboBox e qualche TextBox.
per le TextBox nessun problema.
però nn riesco a fargli settare il valore della ComboBox:
        public FormUpdate(List<string> list)
        {
            InitializeComponent();
            String[] valori = list.ToArray();
            fillComboCausale();
            fillComboConto();

            txtId.Text = valori[0];
            txtEntrata.Text = valori[1];
            comboBoxCausale.SelectedItem = valori[2];
            comboBoxConto.SelectedItem = valori[3];
        }

fillComboCausale() e fillComboConto() sono due metodi che riempiono le combo.
sapete dirmi dove sbaglio??
Modificato da fermat il 16 dicembre 2011 22.24 -
5.610 messaggi dal 09 febbraio 2002
Contributi
ciao, controlla che valori[2] e valori[3] esistano all'interno delle rispettive combobox. E' importante rispettare maiuscole e minuscole, ti faccio un esempio:

comboBox1.Items.Add("Verde");
comboBox1.Items.Add("Rosso");
comboBox1.Items.Add("Blu");
//questo non funzionerà perché la r è minuscola
comboBox1.SelectedItem = "rosso";
//questo sì
comboBox1.SelectedItem = "Rosso";


ciao

- So what you're saying is, if we get in trouble, there's no one to help us out?
- I'm afraid not.
- Fantastic!
268 messaggi dal 25 novembre 2010
ciaoa e scusa il ritardo nella risposta.
allora, i valori esistono perchè vengono visualizzati nella finestra quando avvio il programma.
a rigord di logica dovrebbe andare.
anche perchè se al posto di vaolir[1] ci metto a mano un valore specifico il tutto funziona.
in sostanza nn riesce a prendere quello dell'array che gli passo.
5.610 messaggi dal 09 febbraio 2002
Contributi
ciao,

fermat ha scritto:

anche perchè se al posto di valori[2] ci metto a mano un valore specifico il tutto funziona.

ok, bene, hai verificato che la selezione funziona se digiti un valore a mano.
Io credo che valori[2] non contenga il valore che è nella DropDownList, non c'è altra spiegazione. Infatti, che il valore si trovi su una stringa o su un elemento di un array di stringhe non pone alcuna differenza.

Prova così, per eliminare eventuali caratteri speciali o spazi che si trovino all'inizio o alla fine della stringa
comboBoxCausale.SelectedItem = valori[2].Trim();
E se non dovesse funzionare, metti un breakpoint su quella linea e verifica col debugger qual è l'effettivo valore di valori[2]. Secondo me ha un valore diverso da quello che ti aspetti di trovare.

ciao
Modificato da BrightSoul il 20 dicembre 2011 23.16 -

- So what you're saying is, if we get in trouble, there's no one to help us out?
- I'm afraid not.
- Fantastic!
268 messaggi dal 25 novembre 2010
il debug mi riporta questo:
[2]  "versamento"  string

quindi il valore dovrebbe riconoscerlo.
nella lista c'è!!
42 messaggi dal 13 settembre 2007
Prova una cosa del genere:
ListItem item = comboBoxCausale.Items.FindByValue(value[2]);/*FindByText*/
/*item è null?????*/
comboBoxCausale.SelectedItem = item ;


Ciao
268 messaggi dal 25 novembre 2010
ma la classe ListITem nn è solo per l'Asp.net?
http://msdn.microsoft.com/it-it/library/system.web.ui.webcontrols.listitem%28v=VS.100%29.aspx

fa parte del namespace System.Web.UI.WebControls....
42 messaggi dal 13 settembre 2007
Scusami non avevo letto che era una WinForm.
Comunque in questo caso prova ad usare
int listItem = comboBox1.FindString("stringa")

che ritorna il primo elemento che inizia con "stringa" senza applicare le maiuscole e minuscole. Ritorna -1 se non trova niente.
Se trova qualcosa lo assegni con il selectedIndex... almeno così vedi se il valore è presente dentro la combo

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