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:
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:
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:
1
2
3
4
5 private static bool booFoundCountry(CL_Pays oPays, CL_Pays oPaysToFind) { return (oPays.uniPays == oPaysToFind.uniPays); }
D'avance merci
Laurent