【问题标题】:Bind entity to gridview将实体绑定到gridview
【发布时间】:2012-03-24 03:55:22
【问题描述】:

idc=courseID 之间的关系

网格视图的 HTML

   <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="id"
    DataSourceID="EntityDataSource1">
        <Columns>
            <asp:BoundField DataField="course" HeaderText="course" SortExpression="courseID" />
           <asp:BoundField DataField="id" HeaderText="id" ReadOnly="True" SortExpression="id" />
        </Columns>
    </asp:GridView>
<asp:EntityDataSource ID="EntityDataSource1" runat="server" ConnectionString="name=dbEn"
    DefaultContainerName="dbEn" EntitySetName="userCourses">
</asp:EntityDataSource>

现在网格视图只显示 CourseID 但我当然想显示名称。

如何在网格视图中显示课程名称而不是 courseID?

【问题讨论】:

    标签: c# asp.net gridview entity-framework-4 ado.net


    【解决方案1】:

    嘿,你必须绑定“Course”EntitySetName 而不是“userCourses”,并且

     <Columns> 
                <asp:BoundField DataField="name" HeaderText="course" SortExpression="name" /> 
                <asp:BoundField DataField="idc" HeaderText="ID" ReadOnly="True" SortExpression="id" /> 
    
            </Columns> 
    

    你必须写commandText

    <asp:EntityDataSource
       ID="EntityDataSource"
       ConnectionString="name=dbEn"
       DefaultContainerName="dbEn"
       CommandText="
          SELECT c.Name,uc.ID
          FROM Course c
          Inner JOIN userCours uc ON c.IDc=uc.CourseID"
       RunAt="server">
    </asp:EntityDataSource>
    

    更多参考:link

    MSDN

    【讨论】:

    • idc 是表 course 中每门课程的 id,但表 usercourse 中的 id 不同。用户 ID 表 usercourse 用户中的 id
    • 好的,你必须在 c# 端编写连接查询并绑定到网格。然后它会工作
    • SELECT c.Name,uc.ID FROM Course as c Inner JOIN userCours as uc ON c.IDc=uc.CourseID
    猜你喜欢
    • 1970-01-01
    • 2018-03-12
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    • 2010-11-26
    • 2018-09-16
    相关资源
    最近更新 更多