datagrid用户自定义分页问题?为什么只显示了第一页的数字 页导航,其它的怎么没有显示了?在线等待中....
我使用的是datagrid的用户自定义的分页功能,前后台代码如下:那位好心人看看问题在哪?我的数据库中的数据明明大于的我的分页数,可datagrid就只显示第一页的数字导航,其它的没有了,我把每页的数目调小,可还是只显示第一页的数字,。。。。
html:datagrid属性的设置:
<asp:datagrid id="DataGrid1" runat="server" cellpadding="3" PagerStyle-Mode="NumericPages" pagesize="4" allowcustompaging="True" allowpaging="True" showfooter="True" AutoGenerateColumns="False" ToolTip="会员注册信息"
Width="752px" >
<PagerStyle Height="5px" BackColor="#CCFFCC" Mode="NumericPages"></PagerStyle>
后台的代码:
Dim strconn As String = System.Configuration.ConfigurationSettings.AppSettings("strconn")
Dim strselect As String
Dim intstartindex As Integer = 0
Dim intendindex As Integer
Dim sqlconn As SqlConnection
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
Dim cmd As SqlCommand
sqlconn = New SqlConnection(strconn)
If Not IsPostBack Then
'取得完整的页,跟踪得数据库中数据项数大于页数,说明至少应该有2出现
strselect = "select count(*) from tabcustomerinfo" '
cmd = New SqlCommand(strselect, sqlconn)
sqlconn.Open()
'在其中grid中导航的页数
---------〉〉〉〉〉就是这里,我把DataGrid1.VirtualItemCount设为固定的数字3,可是还是没显示其它的数字。。。。它不就是显示datagrid的页数导航的马???????
DataGrid1.VirtualItemCount = (cmd.ExecuteScalar / DataGrid1.PageSize) + 1
Label1.Text = "会员总数为:" + CType(cmd.ExecuteScalar, String)
sqlconn.Close()
datagridbind()
End If
End Sub
Sub datagridbind()
intendindex = intstartindex + DataGrid1.PageSize
strselect = "select id,name,truename,email,mobile,phone,jobstyle,state from tabcustomerinfo where id>@startindex and id<=@endindex order by id "
Dim sqladapt As New SqlDataAdapter(strselect, sqlconn)
sqladapt.SelectCommand.Parameters.Add("@startindex", intstartindex)
sqladapt.SelectCommand.Parameters.Add("@endindex", intendindex)
Dim dst As New DataSet
sqladapt.Fill(dst)
DataGrid1.DataSource = dst
DataGrid1.DataBind()
End Sub
Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
intstartindex = (e.NewPageIndex * DataGrid1.PageSize)
DataGrid1.CurrentPageIndex = e.NewPageIndex
datagridbind()
End Sub
Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
If e.CommandName = "email" Then
Dim lnk As LinkButton
lnk = e.Item.Cells(8).Controls(0)
Session("email") = lnk.Text + ";" + Session("email")
End If
Label2.Text = "您选择的邮箱如下--" + Session("email")
End Sub
调试半天也不明白,可能还是有那里不清楚了,,,请高手们解答一下,多谢了