如何在 asp.net c# 中将 JQuery DataTables 应用于 Gridview 以获取大数据(> 1000)?

Posted

技术标签:

【中文标题】如何在 asp.net c# 中将 JQuery DataTables 应用于 Gridview 以获取大数据(> 1000)?【英文标题】:How to apply JQuery DataTables to Gridview for large data(>1000) in asp.net c#? 【发布时间】:2021-05-28 17:19:04 【问题描述】:

我正在将 Jquery DataTables 应用到 gridview,它工作正常,但只有不到 1000 行并且对于大数据,首先会加载 gridview,然后应用 Jquery Datatables,在 jquery datatables 渲染页面变得无响应并且看起来很难看。

如何将 Jquery 数据表应用到拥有大量数据的 Gridview。

<div class="container-fluid mt-3">
    <div class="row">
        <div class="col-md-12">
            <asp:GridView runat="server" ID="gvDetails" AutoGenerateColumns="false" CssClass="table table-bordered  display compact">
                <HeaderStyle BackColor="#8b6f4e" ForeColor="White" />
                <Columns>
                    <asp:BoundField HeaderText="ID" DataField="ID" />
                    <asp:BoundField HeaderText="Name" DataField="Name" />
                    <asp:BoundField HeaderText="City" DataField="City" />
                    <asp:BoundField HeaderText="State" DataField="State" />
                    <asp:BoundField HeaderText="Country" DataField="Country" />
                    <asp:BoundField HeaderText="BankAc" DataField="BankAc" />
                    <asp:BoundField HeaderText="Aadhar" DataField="Aadhar" />
                    <asp:BoundField HeaderText="PhoneNo" DataField="PhoneNo" />
                    <asp:BoundField HeaderText="EmailID" DataField="EmailID" />
                </Columns>
            </asp:GridView>
        </div>
    </div>
</div>

我正在将 Jquery Datatable 应用到 gridvie,如下所示

function bindDataTable() 
        table = $('#<%= gvDetails.ClientID%>').prepend($("<thead></thead>")
          .append($("#<%= gvDetails.ClientID%>").find("tr:first")))
     .DataTable(
            responsive: true,
            stateSave: true
        )
    

还有其他申请方式吗?

注意:对于大数据,JQuery DataTables 应该快速呈现,而无需 等待 Gridview 先加载。

如果有人已经这样做了,请帮忙!

【问题讨论】:

首先你应该使用repeater而不是快速的gridview。 These question 可以帮到你。 所以想法是只获取首页数据和字母使用 jquery 加载其他数据。这有点棘手,但请参考附加链接中的链接。 【参考方案1】:

GridView 加载数据需要多长时间? Ajax 加载它可能会更好,或者每页加载它(在 DataTables 中称为“服务器端处理”)。请see the FAQ。

【讨论】:

30k 行在 0-2 减附近需要很长时间。 没有数据表?我建议然后查看服务器端处理模式。它只会让数据显示在 DataTable 的每个单独页面上,这应该更快。有关详细信息,请参阅我链接到的常见问题解答。 不,datatables gridview 首先加载数据,然后 jquery datatbales 将呈现到 gridview。 很高兴看到一个显示问题的测试用例。

以上是关于如何在 asp.net c# 中将 JQuery DataTables 应用于 Gridview 以获取大数据(> 1000)?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# Asp.net 中将 SELECT sql 查询结果保存在数组中

如何在 C# 中将数据发送到 ASP.NET Core MVC 控制器?

如何使用 C#、ASP.NET、SQL Server 端处理实现 jQuery DataTables 插件?

如何使用 JQuery c# 在嵌套网格视图 ASP.net 中使用日期时间选择器

如何在 c# ASP.Net 中使用有效的 JSON 输出创建 JSON WebService 并使用 JQuery/Ajax 进行查询

在 C# ASP.net 中将文本框内容转换为 DateTime 格式时出错