2010-09-30 12 views
0

J'ai deux tables (personne et localisation)La combinaison de champs mulitple dans l'affichage clé étrangère ASP.NET Dynamic Data

Dans le site dynamique de données, lors de l'ajout d'informations de localisation, je dois choisir une personne dans la zone de liste déroulante qui est peuplé via un FK. Cette liste déroulante par défaut le champ dans "Personne" qui est intitulé "fname" qui est le prénom, de sorte qu'il ressemble à "Jim" ou "Steve". J'essaie que cette liste déroulante affiche le nom complet de la personne à laquelle elle fait référence, qui combinerait les champs fname et lname. Est-ce que je ferais ceci à l'intérieur d'un modèle de champ? Métadonnées? Je suis un peu coincé là-dessus.

Si je regarde le FieldTemplate pour ForeignKey_Edit Je vois ceci:

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (DropDownList1.Items.Count == 0) 
     { 
      if (Mode == DataBoundControlMode.Insert || !Column.IsRequired) 
      { 
       DropDownList1.Items.Add(new ListItem("[Not Set]", "")); 
      } 
      PopulateListControl(DropDownList1); 
     } 

     SetUpValidator(RequiredFieldValidator1); 
     SetUpValidator(DynamicValidator1); 
    } 

et il semble que je devrais être en mesure de faire quelque chose de similaire à « PopulateListControl » et utiliser à la place, mais je ne sais pas où cette méthode réside même.

Des idées?

Répondre

2

Trouvé. J'avais besoin de surcharger la méthode ToString() de ma classe pour retourner une combinaison de propriétés.

[MetadataType(typeof(PersonMetaData))] 
public partial class Person 
{ 
    public override string ToString() 
    { 
     return lname.ToString() + ", " + fname.ToString(); 
    } 

}