关于分页--老问题

NewSun99 2002-12-06 04:40:22
看了.Net的帮助,里面关于分页都是每次都要和数据库打交道并且要求表里有一个唯一表示顺序的字段。
我一次把数据读到Reader里,然后做一个SHARE的DS,但是接着怎么分页呢?
Shared ds As ICollection

Function CreateDataSource(ByRef Reader As System.Data.SqlClient.SqlDataReader) As ICollection

Dim dt As New DataTable()
Dim dr As DataRow
Dim i, j As Integer

dt.Columns.Add(New DataColumn("tel_id", GetType(String)))
dt.Columns.Add(New DataColumn("tel_code", GetType(String)))
dt.Columns.Add(New DataColumn("dept_code", GetType(String)))
dt.Columns.Add(New DataColumn("tel_title", GetType(String)))
dt.Columns.Add(New DataColumn("tel_name", GetType(String)))
dt.Columns.Add(New DataColumn("name_spell", GetType(String)))
dt.Columns.Add(New DataColumn("tel_type", GetType(String)))

While Reader.Read()
dr = dt.NewRow()
For j = 0 To Reader.FieldCount - 1
If Not Reader.IsDBNull(j) Then
dr(j) = Reader.GetString(j)
End If
Next j
dt.Rows.Add(dr)
Reader.Read()
End While

Dim dv As New DataView(dt)
Return dv

End Function 'CreateDataSource

Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
'
DataGrid1.CurrentPageIndex = e.NewPageIndex
'DataGrid1.DataSource = ds
'绑定数据
'DataGrid1.DataBind()
End Sub
PageIndexChanged事件我不知道该怎么做了
老是不正确?

...全文
23 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dotnba 2002-12-06
  • 打赏
  • 举报
回复
如果DataGrid的GenerateColumn=True,那就不能用Columns得到列,试试这样:
Dim item As DataGridItem
For Each item In DBGrid.Controls(0).Controls
If item.ItemType = ListItemType.Header Then
item.Cells(0).Text = "标题1"
item.Cells(1).Text = "标题2"
End If
Next
NewSun99 2002-12-06
  • 打赏
  • 举报
回复
分页没问题!
NewSun99 2002-12-06
  • 打赏
  • 举报
回复
DataGrid1.AutoGenerateColumns = false

这样我手动加列第一次显示没问题
但是分页时没变化
如果自动生成,那么却都有了!
kinglht 2002-12-06
  • 打赏
  • 举报
回复
写一个函数,在这个函数中绑定DataGrid!
Sub BindGrid()
DataGrid1.DataSource = CreateDataSource()
DataGrid1.DataBind
End Sub


然后在PageIndexChanged事件中调用这个函数!
Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
'
DataGrid1.CurrentPageIndex = e.NewPageIndex
BindGrid
End Sub

smilefox 2002-12-06
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/1171/1171715.xml?temp=.5520288

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧