2009-08-10 9 views
0

EntityDataSourceを使用してGridViewに外部キー値を表示するためのクリーンなソリューションを誰も見つけることができましたか?GridViewsのエンティティの外部キー

たとえば、私の従業員テーブルには(FK)JobTitleIDがあり、従業員のGridViewに仕事のタイトル列を表示させたいとします。

答えて

1

値をTemplateFieldにバインドすることができます。内部には、あなたのタイプのデータに適したBindコントロールのタイプを使用できます。私は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のドキュメント。

PS。私はあなたがEvalを使用しなければならないと他の場所で読んだことがあるが、私はEvalまたはBindを同じ意味で使うことができるようだ。

関連する問題