Объединение нескольких полей в отображении внешнего ключа динамических данных ASP.NET - PullRequest
0 голосов
/ 30 сентября 2010

У меня есть две таблицы (Персона и Местоположение)

На сайте динамических данных при добавлении информации о местоположении мне нужно выбрать человека из выпадающего списка, который заполняется через FK. В этом раскрывающемся списке по умолчанию используется поле «Персона» с именем «fname», которое является именем, поэтому оно выглядит как «Джим» или «Стив».

Я пытаюсь, чтобы в этом раскрывающемся окне отображалось полное имя человека, на которого он ссылался, и которое объединяло бы поля fname и lname.

Буду ли я делать это внутри шаблона поля? Метаданные? Я застрял на этом.

Если я посмотрю на FieldTemplate для ForeignKey_Edit, я увижу это:

 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);
    }

и кажется, что я должен иметь возможность создать что-то похожее на "PopulateListControl" и использовать его вместо этого, но я понятия не имею, где этот метод вообще находится.

Есть идеи?

1 Ответ

2 голосов
/ 01 октября 2010

Нашел это. Мне нужно было переопределить метод ToString () моего класса, чтобы вернуть комбинацию свойств.

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

}
...