Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C中延迟加载DataGridView#_C#_Sql_Sql Server_Lazy Loading - Fatal编程技术网

C# 如何在C中延迟加载DataGridView#

C# 如何在C中延迟加载DataGridView#,c#,sql,sql-server,lazy-loading,C#,Sql,Sql Server,Lazy Loading,我想从sql server检索大数据。我希望它逐行加载并显示在DataGridView中。就像我在SQLServerManagementStudio 2005中执行Sql脚本一样。我怎么做到的 使用此查询进行分页 DECLARE @PageIndex int=1 DECLARE @PageSize int=10 DECLARE @StartRow int DECLARE @EndRow int SET @StartRow = (@PageSize * (@PageIndex - 1)) +

我想从sql server检索大数据。我希望它逐行加载并显示在DataGridView中。就像我在SQLServerManagementStudio 2005中执行Sql脚本一样。我怎么做到的

使用此查询进行分页

DECLARE @PageIndex int=1
DECLARE @PageSize int=10
DECLARE @StartRow int
DECLARE @EndRow int


SET @StartRow = (@PageSize * (@PageIndex - 1))  + 1  
SET @EndRow = @PageSize * @PageIndex + 1

SET NOCOUNT ON;

WITH ArticleSearch AS
(
    SELECT
       ROW_NUMBER() OVER 
         (
            -- Dynamic sorting
            ORDER BY       tablename.fieldname 


          ) AS RowNumber,   *


     FROM            tablename

)

-- Statement that executes the CTE
SELECT *
FROM
      ArticleSearch a
WHERE
      a.RowNumber BETWEEN @StartRow AND @EndRow - 1
ORDER BY
      a.RowNumber 

您可以将pageindex作为参数传递,以获取要显示的页面以及每个页面中总记录的pagesize

您可以使用
SqlDataReader
来实现这一点,我很确定SSMS中使用了它。每次从读卡器读取一条记录(或一批记录)时,都会在用户界面中显示它


读取完成后不要忘记关闭读卡器。

您可以尝试使用Backgroundworker类加载数据。在progressupdate调用中,您可以更新DataGridview。还有进展指标

检查以下链接:


  • 它包含使用Backgroundworker显示目录。

    否,类似:。在加载数据过程中,我希望它显示DataGridViewNo上可用的数据,我不希望使用分页。I wait data必须在dataGridView上加载所有数据,并且在尚未完成的加载过程中,可用数据必须显示在gid上。然后,您必须通过分页查询每一行,并将每一行逐行添加到dataGridView,但这意味着在发布到dataGridView之前必须加载数据。我希望当所有数据尚未加载完成时,加载的可用数据必须显示为on。