同意楼上,具体实现如下:
/////declarations部分
Protected xh1 As Integer
////page_load事件
xh1 = 0
If Page.IsPostBack = False Then
.......
dg.DataSource = ds
dg.DataBind()
end if
////dg_Bound(绑定)事件是你自定义在html中的(包括下面的dg_Item事件)
////<asp:datagrid id="dg" style="Z-INDEX: 103; LEFT: 17px; POSITION: absolute; TOP: 103px" runat="server" Font-Size="9pt" Width="703px" Height="50px" BorderStyle="Dashed" BorderColor="Olive" OnItemCommand="dg_Item" OnItemDataBound="dg_Bound" AutoGenerateColumns="False" AllowPaging="True" Font-Names="宋体">/////
Public Sub dg_Bound(ByVal sender As Object, ByVal e As DataGridItemEventArgs)
If e.Item.ItemIndex > -1 Then
xh1 = xh1 + 1
e.Item.Cells(1).Text = xh1.ToString
End If
End Sub
/////dg_item(删除)
Public Sub dg_Item(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
....
//删除后重新绑定dg
If dg.Items.Count = 1 Then
If dg.PageCount = 2 Then
dg.CurrentPageIndex = 0
ElseIf dg.PageCount > 2 Then
dg.CurrentPageIndex = dg.CurrentPageIndex - 1
End If
End If
xh1 = 10 * dg.CurrentPageIndex //10是你的dg一页想显示的行数
dg.DataBind()
end sub
/////dg分页事件
Private Sub dg_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles dg.PageIndexChanged
Dim ds As DataSet
dg.CurrentPageIndex = e.NewPageIndex
xh1 = 10 * dg.CurrentPageIndex
ds = Session.Item("e_xmsq")
dg.DataSource = ds
dg.DataBind()
End Sub
////查询按钮
Private Sub bcha_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bcha.Click
.....
dg.CurrentPageIndex = 0
dg.DataSource = ds
xh1 = xh1 * dg.CurrentPageIndex
dg.DataBind()
end sub