在Gridview中绑定7000条记录需要更多时间。

编程入门 行业动态 更新时间:2024-10-23 21:29:58
本文介绍了在Gridview中绑定7000条记录需要更多时间。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在使用gridview绑定7000条记录,并使用文本框搜索记录需要更多时间才能加载。 下面我附上了编码 Javascript

I am using gridview to bind 7000 records and am using textbox to search records it s took more time to load. Below i have attached Coding Javascript

function BindMembersDetails() { // to call c# funstion __doPostBack('<%=lnktxtsearch.ClientID %>', ''); }

Asp <asp:TextBox type="text" placeholder="Search..." class="textbox" runat="server" ID="txtSearchKey" onkeyup="BindMembersDetails()" autofocus></asp:TextBox></div> <asp:GridView ID="grdMemDasboard" runat="server" class="grid grdHouseKeeping" AutoGenerateColumns="false" CellPadding="0" BorderColor="#cccccc" CellSpacing="0" BorderWidth="0" EmptyDataText="No Items Added" onsorting="grdDasboard_Sorting" AllowSorting="true"> <%--AllowPaging="true" OnPageIndexChanging="grdItemMaster_PageIndexChanging" PagerSettings-Position="Bottom" PageSize="40" --%> <Columns> <asp:TemplateField ItemStyle-CssClass="gridCourse" HeaderStyle-CssClass="gridCourse gridCourseHeader" HeaderText="Membership Id" Visible="false"> <ItemTemplate> <asp:LinkButton runat="server" ID="lblMembershipId" Text='<%#Eval("MembershipID") %>' ></asp:LinkButton> </ItemTemplate> </asp:TemplateField> etc..... </Columns> <%-- <PagerSettings FirstPageText="First" Mode="NumericFirstLast" LastPageText="Last" PageButtonCount="7" NextPageText="Next" PreviousPageText="Previous" />--%> </asp:GridView> // Repeater for paging <asp:Repeater ID="rptPager" runat="server" > <ItemTemplate> <asp:LinkButton ID="lnkPage" runat="server" Text = '<%#Eval("Text") %>' CommandArgument = '<%# Eval("Value") %>' Enabled = '<%# Eval("Enabled") %>' OnClick = "Page_Changed"></asp:LinkButton> <%--OnClick = "Page_Changed"--%> <asp:HiddenField ID="hdnValue" runat="server" Value='<%# Eval("Value") %>'/> </ItemTemplate> </asp:Repeater> </div>

Stored Procedure SELECT ROW_NUMBER() OVER(ORDER BY MM.MemberID DESC) AS RowNumber, MCM.CategoryName as MembershipName, --(case when ISNULL(MCM.IsCorporate,0) = 0 then MM.MemberCode when ISNULL(MCM.IsCorporate,0) = 1 then (select t.memcode from @temp t where t.memeberid=mm.MemberID ) end) as MemberCode --MM.MemberCode MD.MemberCode as MemberCode ,MCM.CategoryID ,MM.MemberID as MembershipID ,GU.CardName as PrimaryMember ,(select Count(memberid) from Mem.MemberDetails MD where MD.MemberID=MM.MemberID) as TotalPax --case when isnull(MCM.IsCorporate,0)=0 then '' else MCM.NoOfPax end as TotalPax ,case when MM.Approverflag=1 then 'Approved' when MM.Approverflag=2 then 'Rejected' else 'Pending' end as [Approval] ,[MembershipCategoryID] ,CONVERT(varchar(50),ExpiryDate,103) as ExpiryDate ,[SecurityDeposit] ,[EntranceFee] ,[CorporateName] ,[TotalAmount] ,ISNULL(md.[Balance],0.00) as Balance , MCM.IsCorporate ,(case when ISNULL(MCM.IsCorporate,0) = 1 then MM.CorporateID when ISNULL(MCM.IsCorporate,0) = 0 then '0' end) as CorporateID --MM.MemberID , MM.IsActive as IsActive , MD.MemberCode as memcode --,(Select Description from Mem.MemberShipStatusMaster where StatusCode=MM.StatusCode) as Status ,case when MM.[IsActive]=1 then 'Active' else 'In-Active' end as [Status] INTO #Results FROM [Mem].[MemberMaster] MM inner join [Mem].MembershipCategoryMaster MCM on MCM.CategoryID=MM.MembershipCategoryID inner join [Mem].MemberDetails MD on MD.MemberID=MM.MemberID inner join [dbo].Guest Gu on GU.guestID=MD.GuestID ORDER BY MD.MemberID desc SELECT @RecordCount = COUNT(*) FROM #Results SELECT * FROM #Results WHERE RowNumber BETWEEN(@PageIndex -1) * @PageSize + 1 AND(((@PageIndex -1) * @PageSize + 1) + @PageSize) - 1 DROP TABLE #Results

推荐答案

你要做的只是一个大滥用。用户希望看到7000条记录?您需要创建一些替代设计。比如说,查询可以设计为一次只允许有限数量的记录。一个非常常见的解决方案是分页: 如何在ASP.NET中的GridView控件中实现分页 [ ^ ], www.c-sharpcorner/UploadFile/rohatash/gridview-paging-sample-in-Asp-净 [ ^ ]。
-SA
What you are trying to do is simply one big abuse. What user will want to see 7000 records? You need to create some alternative design. Say, the query can be designed to allow only limited number of records at a time. One very usual solution is paging: How To Implement Paging in GridView Control in ASP.NET[^], www.c-sharpcorner/UploadFile/rohatash/gridview-paging-sample-in-Asp-Net[^].
—SA

更多推荐

在Gridview中绑定7000条记录需要更多时间。

本文发布于:2023-11-26 20:08:24,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1635010.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:绑定   时间   更多   Gridview

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!