c# - gridview 模型绑定(bind)和排序

标签 c# asp.net

我在使用模型绑定(bind)将数据导入的页面上有以下 GridView。

                <asp:GridView ID="grdvAppType" DataKeyNames="ApplicationTypeSeqid" runat="server" ItemType="MyType.ApplicationType"
                AutoGenerateColumns="false" SelectMethod="GetAppliationTypes" AllowPaging="true" PageSize="10" AllowSorting="true">
                <EmptyDataTemplate>
                    No records
                </EmptyDataTemplate>
                <Columns>
                    <asp:TemplateField HeaderText="Type Name" SortExpression="TypeName">
                        <ItemTemplate>
                            <%# Item.TypeName %>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>

还有其他列,但我已将其删除。后面的代码将 SelectMethod 设置为:

        public List<MyType.ApplicationType> GetAppliationTypes(int startRowIndex, int maximumRows, out int totalRowCount)
    {
        List<MyType.ApplicationType> lstAppType = null;
        using (ApplicationTypeRepository appTypeRepos = new ApplicationTypeRepository(new UnitOfWork()))
        {
            totalRowCount = appTypeRepos.All.Where(x => x.isActive).Count();
            var data = appTypeRepos.All.Where(x => x.isActive).OrderBy(x => x.TypeName).Skip(startRowIndex).Take(maximumRows);
            lstAppType = data.ToList();
        }

        return lstAppType;
    }

这很好用,因为我只是在每页检索我想要的记录,而不是每次从一个页面移动到另一个页面时都获取所有数据。但是我不确定如何让它与排序一起使用,例如,如果我希望 TypeName 列是可排序的。我需要在 SelectMethod 中寻找什么来查看选择了哪个选项进行排序,如果没有选择它应该默认为 TypeName?

最佳答案

在 WPF 中,我使用 DataGrid 进行自动排序,它对我来说工作正常,但我不知道它是否也适用于 ASP.NET。我也找到了这篇文章,查看一下,我认为这就是您要搜索的内容。希望能帮助到你! http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.allowsorting(v=vs.110).aspx

关于c# - gridview 模型绑定(bind)和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21384774/

相关文章:

javascript - Telerik RadConfirm 不适用于 asp.net 的 UserControls

javascript - jQuery attr 在 aspx 上替换

asp.net - 如何在模拟 ASP.NET 中使用散列密码

c# - 在新构建后保留 Session[] 变量

c# - 文本框不会失去焦点

c# - Silverlight/C# web 应用程序 - 无需打开即可将 PDF 发送到客户的打印机

C#6.0 字符串插值本地化

c# - 变量的绑定(bind)与显式赋值

c# - GridView 更改标题文本

C# 继承 View 和演示者