如何在asp.net中创建excel类型的过滤、排序、编辑数据?

问题描述 投票:0回答:1

我想允许asp.net中的20k数据记录进行过滤、排序、分页和编辑。哪个是最好的?

asp.net sorting filter pagination edit
1个回答
0
投票

嗯,如前所述,我们无法一次加载 20k 条记录 - 这对于一次使用来说数据太多了。

那么,您可以添加分页并在网格/表格之类的视图中显示数据屏幕吗?是的,这很容易。

您可以在网格显示中添加排序(例如向上/向下排序)吗?是的,这需要一点代码,但这可以很容易完成。

但是允许用户在任何列上进行过滤?嗯,这需要做很多工作。所以你当然可以实现前两个目标 - 非常简单。

但没有任何内置的过滤系统+一组控件可以为您实现过滤选项。我真的希望有。您可以考虑一些第 3 方控件 - 它们相当昂贵,但它们看起来确实非常漂亮。所以,假设来自 Telerick 的这个网格是您正在寻找的一个很好的例子:

enter image description here

所以上面有分页、排序、过滤器。

演示在这里: https://demos.telerik.com/aspnet-ajax/grid/examples/overview/defaultcs.aspx

我真的不知道为什么这么多年之后,基础.net包不包含网格扩展器或列表视图控件,这些控件功能如此匮乏,以至于每个人每天都必须出去重新发明世界。

但是您必须添加数据寻呼机并且开箱即用,寻呼机的默认格式看起来不太好。一旦你花了一两个小时,你就可以获得一个漂亮的格式化数据分页器(但不应该做太多工作来获得开箱即用的漂亮外观和感觉 - 它不应该如此)。

所以说这里是一个列表视图(我使用了向导 - 然后删除了 99% 的标记,并使用此标记:

   <asp:ListView ID="ListView1" runat="server" DataKeyNames="ID">
        <ItemTemplate>
            <tr style="">
                <td><asp:label ID="FirstName" runat="server" Text='<%# Eval("FirstName") %>' /></td>
                <td><asp:label ID="LastName" runat="server" Text='<%# Eval("LastName") %>' /></td>
                <td><asp:label ID="HotelName" runat="server" Text='<%# Eval("HotelName") %>' /></td>
                <td><asp:label ID="City" runat="server" Text='<%# Eval("City") %>' /></td>
                <td><asp:CheckBox ID="Active" runat="server" Checked='<%# Eval("Active") %>' /></td>
            </tr>
        </ItemTemplate>
        <LayoutTemplate>
            <table id="itemPlaceholderContainer" runat="server" border="0" style="">
                <tr runat="server" style="">
                    <th runat="server">FirstName</th>
                    <th runat="server">LastName</th>
                    <th runat="server">HotelName</th>
                    <th runat="server">City</th>
                    <th runat="server">Active</th>
                </tr>
                <tr id="itemPlaceholder" runat="server"></tr>
            </table>
        </LayoutTemplate>
    </asp:ListView>

它看起来像这样:

enter image description here

所以列表视图是呈现数据的好方法。

但是,要获得漂亮的布局、漂亮的过滤、看起来还算不错的数据分页器吗?这需要大量的工作。开箱即用的 ASP.NET 控件曾经可能是 ASP.NET 的最佳功能

上面的页面是我在写这篇文章的时间内创建的。看起来不错 - 但“不错”是 5 或 10 年前的事了。

开箱即用的新数据控件应该像第一个网格一样 - 恕我直言,为了获得漂亮的网格而付出的努力现在还不是那么好。

所以,我会考虑使用第 3 方网格控件,否则你必须学习相当多的 css 才能获得像 Excel 一样漂亮的显示。

这是可能的。我更喜欢简单的 - gridview。

但是,对于真正漂亮的布局 - 额外的选项 - 使用列表视图 - 它需要更多的标记,但具有近乎无限的灵活性。

© www.soinside.com 2019 - 2024. All rights reserved.