Impostare il SelectedValue di un combobox - C# Framework 1.1

giovedì 13 settembre 2007 - 08.23

AndreaBelmonte Profilo | Newbie

Ciao a tutti,
sto sbattendo la testa in un problema apparentemente ridicolo, ma di cui non trovo la soluzione.
Sto sviluppando una application in C# (.Net Framework 1.1) ed avrei bisogno, in fase di aggiornamento di alcuni dati, di impostare il SelectedValue di una ComboBox.

Ho pensato di poter far questo utilizzando semplicemente ComboBox.SelectedValue = "VALORE", ma non ottengo il risultato sperato: la combobox viene alimentata da database correttamente, ma non mostra il valore che vorrei fosse selezionato.

Il codice con cui popolo la combo è il seguente:

//Popolamento combobox relativa ai PR
DataSet dsPr=new DataSet();
OleDbDataAdapter daPr=new OleDbDataAdapter(sSql ,conn);
daPr.Fill(dsPr);

ComboPr.ValueMember = "codice_pr";
ComboPr.DisplayMember = "nominativo";
ComboPr.DataSource = dsPr.Tables[0];

daPr.Dispose();
dsPr.Dispose();

e quello con cui vorrei "forzarne" la selezione è questo:

if(drAnagrafica.GetValue(1).ToString()!=string.Empty)
{
ComboPr.SelectedValue = drAnagrafica.GetValue(1).ToString();
}


Qualcuno può darmi consigli in merito? Si tratta di un bug del framework?

Grazie,
Andrea Belmonte
www.andreabelmonte.com

SSUPERPIPPO Profilo | Guru

>Ciao a tutti,

Ciao

Ho appena provato da me e funziona.
E' importante che a SelectedValue venga assegnato un valore relativo al campo ID e non il testo visualizzato nella Combobox (che invece è dato dalla proprietà SelectedText).

>Grazie,

Di nulla

Ciao

Alessandro

http://blogs.dotnethell.it/alebadalin

AndreaBelmonte Profilo | Newbie

Ciao Alessandro,
il SelectedValue che io cerco di impostare, corrisponde di fatto all'ID del controllo. Spiegandomi meglio, io ho come Id del controllo "XYZ", e passo a Combo.SelectedValue = "XYZ". Dell'esattezza dei dati sono assolutamente sicuro; quel che mi fa venire qualche dubbio è il procedimento che utilizzo:

1. Al load della pagina inizializzo la combobox e la riempio utilizzando un datased, che chiudo e distruggo subito dopo;
2. Effettuo una query su db per reperire i valori da mostrare nella form (si tratta di una form di aggiornamento dati) (tutto ok)
3. Sulla base del valore di "codice_pr" restituito dalla query, imposto il SelectedValue della ComboBox precedentemente riempita

C'è qualcosa che non va nell'ordine in cui sto sviluppando i passaggi?

Grazie,
Andrea

Andrea Belmonte
www.andreabelmonte.com

SSUPERPIPPO Profilo | Guru

Mah,

io ho fatto una prova da me proprio come hai indicato tu e mi funziona alla perfezione! Chiaramente non ho la tua base dati...
Boh!? Non me lo spiego...

Faccio ancora qualche prova e ti faccio sapere.

ciao

Ale

http://blogs.dotnethell.it/alebadalin
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5