DATAGRIDVIEW有虚模式,也就是显示多少加载多少。visual mode属性设为true。。
但是要自己响应数据加载事件。去翻msdn吧去看看sqlserver里能显示多少数据,你也能显示那么多。

解决方案 »

  1.   

    我知道有个virtual mode,我问这个问题。。只是想知道是不是有这个限制。。也并不是一定要在控件里显示那么多数据。只是刚好遇到这个问题,想了解清楚一下而已
      

  2.   

       '获得datagridview的竖向滚动条,并添加滚动后绑定查询的功能
            Dim vScrollbar = GetType(DataGridView).GetProperty("VerticalScrollBar", Reflection.BindingFlags.Instance Or Reflection.BindingFlags.NonPublic)
            Dim scVertical As ScrollBar = Nothing
            If vScrollbar IsNot Nothing Then
                scVertical = vScrollbar.GetValue(dgvData, Nothing)
            End If
            If scVertical IsNot Nothing Then
                AddHandler scVertical.Scroll, AddressOf EndScroll
            End If    Private Sub EndScroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs)
            If strAutoPage = "Y" Then
                Dim dSaveQty As Decimal = 0
                If e.Type = ScrollEventType.EndScroll Then
                    If dgvData.Rows(dgvData.RowCount - 1).Displayed And Not dgvData.Rows(dgvData.Rows.Count - 1).Cells("users").Value.ToString.StartsWith("实际库存量") Then
                        dSaveQty = dgvData.Rows(dgvData.Rows.Count - 1).Cells("saveQty").Value
                        DatagridviewShow(dSaveQty) 
                    End If
                End If
            End If    End Sub滚动条滚动时执行查询操作
      

  3.   

    限制当然有,不同系统允许的应用程序最大内存就是限制。但是你问的不是内存限制,而是条数。无论你显示多少条,都可以用编程让内存占用变为最小。无论你控件里要显示多少数据,最终你只有显示器上的才给用户看,意思就是最小内存占用只有屏幕显示的,当然实际情况肯定不是这样,但思路是这样。我觉得你根本不知道visual模式,甚至连单词都不认识,这种问题,还是先把原理搞清楚。