2009-08-10 9 views
0

누구나 EntityDataSource를 사용하여 GridView에 외래 키 값을 표시하는 깨끗한 솔루션을 찾을 수 있습니까?GridViews 엔티티 외래 키

예를 들어 내 Employees 테이블에는 (FK) JobTitleID가 있고 Employees GridView에는 작업 제목 열이 표시됩니다.

답변

1

값을 TemplateField에 바인딩 할 수 있습니다. 내부에는 데이터 유형에 적합한 유형의 바인딩 컨트롤을 사용할 수 있습니다. I는 JobTitleIDJobTitle 엔티티가 연결되어 있는지를 상정 JobTitle.Name 사용한

<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> 

다음은 예이다.

+0

나를 위해 완벽하게 작동합니다. :) 감사합니다! – David

+0

불행히도 현재 사이트에서이를 테스트 할 수는 없지만 위의 주석을 기반으로 정답으로 표시 할 것입니다. – Jesse

2

나는 이것을 시도했지만 광고 된대로 직접 작동하지 않았다. 또한 관련 테이블이 EntityDataSource의 Include 속성에서 참조되는지 확인해야합니다. EntityDataSorce '데이터 소스 구성'마법사에서이를 제어 할 수있는 방법이 없으므로 HTML로 직접 입력했습니다.

자세한 내용은 here MSDN 설명서를 참조하십시오.

추신. 다른 곳에서는 Eval을 사용해야하지만 Eval 또는 Bind를 서로 바꿔 사용할 수있는 것으로 보입니다.