Salut,
J'ai créé un petit controle pour selectionner un Pays dans une liste déroulante. Le truc basic à ceci près qu'étant donné que je suis dans un SOA alimenté par un back End WS*, le datasource de ma liste déroulante est une List<T>.
J'aimerais que mon control ait 3 surcharges pour la propriété selectedCountry.
public String selectedCountry
public Guid selectedCountry
public CL_Pays selectedCountry
Toutes les entrée de ma base sont identifiés par des Guid.
J'ai un peu du mal à comprendre le principe des predicate sur des objets complexes.
Microsoft semble ne donner que des exemples avec des trucs genre chaine en dur.
mais personnellement j'aimerais faire un truc du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 private static bool EndsWithSaurus(String s) { if ((s.Length > 5) && (s.Substring(s.Length - 6).ToLower() == "saurus")) { return true; } else { return false; } }
Voici le Predicate que j'ai imaginé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public CL_Pays SelectedCountry { get { List<CL_Pays> colPays = (List<CL_Pays>)ddl.DataSource; return colPays[ddl.SelectedIndex]; } set { List<CL_Pays> colPays = (List<CL_Pays>)ddl.DataSource; int intFoundIndex = colPays.FindIndex(booFoundCountry("??QueDois-jeMettreIci pour que ca fonctionne ??",value)); if (intFoundIndex == -1) { throw (new Exception(CountryNotFoundMessage)); } else { ddl.SelectedIndex = intFoundIndex; } } }
Une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 private static bool booFoundCountry(CL_Pays oPays, CL_Pays oPaysToFind) { return (oPays.uniPays == oPaysToFind.uniPays); }
D'avance merci
Laurent
Partager