私のアプリケーションでは、データ バインディングに ASP.NET 動的データを使用しています。すべて正常に動作します。
以下に抜粋されたコードを見ると、テーブルDepartmentID
への外部キーである動的フィールドがありDepartment
、そこから部門名を取得します (これは で指定されていますDynamicData/FieldTemplates/IDForeignKey.ascx.cs
)。
私たちの要件は、グリッド ビューに表示されている部門名でレコードを並べ替える (並べ替える) ことです。私が持っている唯一のオプションは、DepartmentID
私たちの目的に役立たないものを分類することです.
ForeignKey から取得したデータを並べ替えるにはどうすればよいでしょうか?
リスト.aspx
<asp:GridView ID="GridView1" runat="server" DataSourceID="GridDataSource" OnPreRender="GridView1_PreRender"
AllowPaging="True" AllowSorting="True" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="EditHyperLink" runat="server"
NavigateUrl='<%# table.GetActionPath(PageAction.Edit, GetDataItem()) %>'
Text="Edit" /> | <asp:LinkButton ID="DeleteLinkButton" runat="server" CommandName="Delete"
CausesValidation="false" Text="Delete"
OnClientClick='return confirm("Are you sure you want to delete this item?");'
/>
</ItemTemplate>
</asp:TemplateField>
<asp:DynamicField DataField="DepartmentID" HeaderText="Department" />
<asp:DynamicField DataField="Description" HeaderText="Description"/>
</Columns>
<PagerStyle/>
<PagerTemplate>
<asp:GridViewPager runat="server" />
</PagerTemplate>
<EmptyDataTemplate>
There are currently no items in this table.
</EmptyDataTemplate>
</asp:GridView>
</div>
<asp:EntityDataSource OnSelecting="GridDataSource_Selecting" ID="GridDataSource" runat="server" EnableDelete="true" OnDeleted="GridDataSource_Deleted" >
<WhereParameters>
<asp:DynamicControlParameter ControlID="DynamicFilter1" />
</WhereParameters>
</asp:EntityDataSource>