RaouL_BennetH
18-07-2009, 15:59
Ciao a tutti !
E' verissimo che leggendo il mio titolo molti di voi penseranno: "E chissene..."
ma sono contento e, soprattutto, molte cose senza l'aiuto di molti di voi di questa sezione non sarei mai riuscito a farle da solo e volevo condividere questo mio piccolo progresso.
Allora, la situazione iniziale era questa:
Avevo un combobox che come elemento di scelta presentava diversi valori, tipo:
1 - PIPPO
2 - PLUTO
3 - PAPERINO
4 - ARCHIMEDE
5 - ORAZIO
ed io, in base alla scelta effettuata, dovevo fare una query. Inizialmente quindi il mio codice l'avevo fatto così:
MiaInterfaccia dammiListe = new ClasseImplementaInterfaccia();
switch(cmbFiltro.SelectedIndex)
{
case 0:
dammiListe.GetLista("PIPPO", personaggiFumetti);
break;
case 1:
dammiListe.GetLista("PLUTO", personaggiFumetti);
break;
//per tutti i valori del combo
}
il valore fra doppi apici era il filtro in base al quale ricercare con la query all'interno del db e "personaggiFumetti" è l'oggetto che mi rappresenta la tabella del db.
Oltre a questo, ogni volta che c'era un combo che mi presentava lo stesso tipo di scelte, dovevo fare la collection di items apposita.
Allora, adesso, sono arrivato a questo:
//utilizzo un semplice file di testo dove inserisco i valori che mi servono per i vari combo
//mi sono scritto una funzioncina che prende questo file di testo e mi restituisce un dizionario
private IDictionary<int, string> dictionaryFilter;
dictionaryFilter = GUIResource.DictionaryLoader.Load("ValueList.txt");
foreach(KeyValuePair<int, string> k in dictionaryFilter)
{
myCombo.Items.Add(k.Value);
}
//quindi, la selezione la effettuo semplicemente così:
MiaInterfaccia dammiListe = new ClasseImplementaInterfaccia();
string selectedFilter = myCombo.Text;
dammiListe.GetLista(selectedFilter, personaggiFumetti);
//eliminando così lo switch
So bene che posso utilizzare semplicemente:
string selectedFilter = myCombo.Text;
non avendo neanche la necessità di avere un dizionario (quindi ancora più semplice)
Ma così facendo ho capito qualcosa in più sui dizionari e su come caricare valori da file di testo :D
RaouL.
E' verissimo che leggendo il mio titolo molti di voi penseranno: "E chissene..."
ma sono contento e, soprattutto, molte cose senza l'aiuto di molti di voi di questa sezione non sarei mai riuscito a farle da solo e volevo condividere questo mio piccolo progresso.
Allora, la situazione iniziale era questa:
Avevo un combobox che come elemento di scelta presentava diversi valori, tipo:
1 - PIPPO
2 - PLUTO
3 - PAPERINO
4 - ARCHIMEDE
5 - ORAZIO
ed io, in base alla scelta effettuata, dovevo fare una query. Inizialmente quindi il mio codice l'avevo fatto così:
MiaInterfaccia dammiListe = new ClasseImplementaInterfaccia();
switch(cmbFiltro.SelectedIndex)
{
case 0:
dammiListe.GetLista("PIPPO", personaggiFumetti);
break;
case 1:
dammiListe.GetLista("PLUTO", personaggiFumetti);
break;
//per tutti i valori del combo
}
il valore fra doppi apici era il filtro in base al quale ricercare con la query all'interno del db e "personaggiFumetti" è l'oggetto che mi rappresenta la tabella del db.
Oltre a questo, ogni volta che c'era un combo che mi presentava lo stesso tipo di scelte, dovevo fare la collection di items apposita.
Allora, adesso, sono arrivato a questo:
//utilizzo un semplice file di testo dove inserisco i valori che mi servono per i vari combo
//mi sono scritto una funzioncina che prende questo file di testo e mi restituisce un dizionario
private IDictionary<int, string> dictionaryFilter;
dictionaryFilter = GUIResource.DictionaryLoader.Load("ValueList.txt");
foreach(KeyValuePair<int, string> k in dictionaryFilter)
{
myCombo.Items.Add(k.Value);
}
//quindi, la selezione la effettuo semplicemente così:
MiaInterfaccia dammiListe = new ClasseImplementaInterfaccia();
string selectedFilter = myCombo.Text;
dammiListe.GetLista(selectedFilter, personaggiFumetti);
//eliminando così lo switch
So bene che posso utilizzare semplicemente:
string selectedFilter = myCombo.Text;
non avendo neanche la necessità di avere un dizionario (quindi ancora più semplice)
Ma così facendo ho capito qualcosa in più sui dizionari e su come caricare valori da file di testo :D
RaouL.