我想在 gridview 中从 sqlserver 表绑定(bind)至少 30,000 条记录。我只想使用 GridView 一次绑定(bind) 50 条记录。网格还具有分页功能,当我单击下一页时,应显示下 50 条记录,然后再下一页单击另外 50 条记录。
我该如何优化这个东西。我希望如果绑定(bind)了 30,000 条记录,那么网格应该像绑定(bind) 50 条记录一样工作。
谢谢
最佳答案
正如其他人所建议的,有很多方法可以做到这一点。 我想补充一些内容
a)从后端处理(这就是我在当前项目中所做的)
--Usage : USP_DataListing 0,12
ALTER PROCEDURE [dbo].[USP_DataListing]
-- Add the parameters for the stored procedure here
(@StartIndex INT, @ItemsToDisplay INT)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @EndIndex INT
SET @StartIndex = @StartIndex * @ItemsToDisplay
SET @EndIndex = @StartIndex + @ItemsToDisplay
BEGIN
SELECT
SlNo
,Column(s)
FROM (
SELECT
ROW_NUMBER() OVER (ORDER BY GETDATE() DESC) AS SlNo
,i.Column(s)
FROM dbo.tblName i)X
WHERE X.SlNo BETWEEN @StartIndex+1 AND @EndIndex
END
2) 如果您使用 dotnet 版本 3.0+,您可以借助 linq 的 Take() and Skip() 的帮助。方法
关于c# - 我们如何优化 gridview 中的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2026320/