1

私のアプリケーションでは、データ バインディングに 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" />&nbsp;|&nbsp;<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>
4

1 に答える 1