Gridview对大量数据绑定的处理

我们在给GridView数据绑定的时候,要考虑到性能的问题,以及网络传输的问题。如果数据量太大的话,我们就要对其进行相应的处理了。

这个方法主要是: 只检索当前页要显示的数据,通过ObjectDataSource 与GridView进行绑定。

sqlsever 是用2层select实现,  oracle 是用3层select 实现。 
方法实现如下 Gridview 绑上一个ObjectDataSource ,ObjectDataSource的SelectCountMethod设置成GetNumberOfData,SelectMethod设置成GetDataByIndex。

 

Public   Function GetDataByIndex(ByVal startRowIndex As IntegerByVal maximumRows As IntegerAs HrDataSet.EMPLOYEESDataTable
 
    
Dim query As String = String.Format("SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME FROM (SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME ROWNUM AS LINE FROM EMPLOYEES ORDER BY EMPLOYEE_ID) EMP WHERE line BETWEEN {0} AND {1}", startRowIndex + 1, startRowIndex + maximumRows)
     
    
Dim sqlda As OracleDataAdapter = New OracleDataAdapter(query, Me.Connection)
    
Dim ods As New HrDataSet() 
    sqlda.Fill(ods.EMPLOYEES) 
    
Return ods.EMPLOYEES 
     
 
End Function

 
 
Public   Function GetNumberOfData() As Integer
    
Dim sqlcmd As OracleCommand = New OracleCommand("SELECT COUNT(*) FROM EMPLOYEES"Me.Connection)
    
Me.Connection.Open() 
    
Dim rows As Integer 
    
Try 
        rows 
= CType(sqlcmd.ExecuteScalar(), Integer)
    
Finally 
        
Me.Connection.Close() 
    
End Try 
    
Return rows

End Function


 需要代码的可以联系我

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值