GridViews中的实体外键

时间:2009-08-10 16:42:07

标签: entity-framework

有没有人能够找到一个干净的解决方案来使用EntityDataSource在GridView中显示外键值?

例如,我的Employees表有一个(FK)JobTitleID,我希望Employees GridView显示一个Job Title列。

2 个答案:

答案 0 :(得分:2)

我尝试过这个并没有直接宣传。您还需要确保在EntityDataSource的Include属性中引用相关表。我在EntityDataSorce的“配置数据源”向导中看不到任何控制方式,所以我在HTML中手动输入了它。

MSDN文档中的更多信息here

PS。我在其他地方读到你必须使用Eval,但我似乎可以互换使用Eval或Bind。

答案 1 :(得分:1)

您可以使用将值绑定到TemplateField。在里面你可以使用适合你的数据类型的任何类型的绑定控件。这是一个例子:

<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实体。