Внешние ключи сущностей в GridViews - PullRequest
1 голос
/ 10 августа 2009

Кто-нибудь смог найти чистое решение для отображения значения внешнего ключа в GridView с использованием EntityDataSource?

Например, моя таблица Employees имеет (FK) JobTitleID, и я хочу, чтобы GridView сотрудников отображал столбец заголовка вакансии.

Ответы [ 2 ]

2 голосов
/ 05 февраля 2011

Я попробовал это, и это не сработало напрямую, как рекламируется. Также необходимо убедиться, что на связанные таблицы есть ссылки в свойстве Include объекта EntityDataSource. Я не видел никакого способа управления этим в мастере EntityDataSorce 'Configure Data Source', поэтому я ввел его вручную в HTML.

Подробнее здесь в документации MSDN.

PS. В другом месте я читал, что вы должны использовать Eval, но, похоже, я могу использовать Eval или Bind взаимозаменяемо.

1 голос
/ 27 июня 2010

Вы можете использовать связать значение с TemplateField. Внутри вы можете использовать любой тип элемента управления Bind, который подходит для вашего типа данных. Вот пример:

<asp:GridView ID="gvEmployees" runat="server" AllowSorting="true" AutoGenerateColumns="false" DataKeyNames="ID" DataSourceID="godsCourses">
    <Columns>
        <asp:TemplateField HeaderText="Job Title">
            <ItemTemplate>
                <asp:Literal ID="hlProgram" runat="server" Text='<%# Bind("JobTitle.Name") %>' />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

Я использовал JobTitle.Name, предполагая, что JobTitleID связан с JobTitle сущностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...