各位老大!我又来提问题了!我VS里使用DataGrid的属性生成器给DataGrid设定了自动分页的功能,但是执行的时候,我按DataGrid下面的分页按钮,DataGrid没有任何反应,依然是显示首页,请问这问题如何解决?谢谢!我用DataGrid的属性生成器给DataGrid设定了自动分页的功能后,在DataGrid的最底下就出现一些分页的符号:1、2、3
我如何加程序使得我能按那些符号按钮就可以达到翻页的功能?有位朋友给了我下面那段程序,我试了一下,的确可以激发1、2、3符号的事件,但是无法实现翻页功能,倒是把DataGrid弄不见了,请问应该如何修改程序?private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex=e.NewPageIndex;
DataGrid1.DataBind();
}
我如何加程序使得我能按那些符号按钮就可以达到翻页的功能?有位朋友给了我下面那段程序,我试了一下,的确可以激发1、2、3符号的事件,但是无法实现翻页功能,倒是把DataGrid弄不见了,请问应该如何修改程序?private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex=e.NewPageIndex;
DataGrid1.DataBind();
}
少句柄了 重新生成这个DataGrid1_PageIndexChanged 事件
===========================
Private Sub dgOrder_PageIndexChanged(ByVal source As Object,
ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs)
Handles dgOrder.PageIndexChanged
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 你少了这个
you need to reset the datasource tooDataGrid1.CurrentPageIndex=e.NewPageIndex;
DataGrid1.DataSource=YourDataTable.DefaultView;
DataGrid1.DataBind();
{
DataGrid1.CurrentPageIndex=e.NewPageIndex;
//中间还必须加上绑定数据源的代码!!!
DataGrid1.DataBind();
}
的句柄在
private void InitializeComponent()
{
this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);
this.Load += new System.EventHandler(this.Page_Load); }
'定义数据库连接
Dim dv As DataView
Dim CN As New SqlConnection()
Try
'初始化连接字符串
CN.ConnectionString = "data source=pmserver;
initial catalog=Northwind;persist security info=False;user id=sa;Password=sa;"
CN.Open()
'从NorthWind得到orders表的数据
Dim adp As SqlDataAdapter = New SqlDataAdapter("select * from orders", CN)
Dim ds As New DataSet()
adp.Fill(ds)
'得到数据视图
dv = ds.Tables(0).DefaultView
Catch ex As Exception
#If DEBUG Then
Session("Error") = ex.ToString()
Response.Redirect("../error.aspx") '跳转程序的公共错误处理页面
#End If
Finally
'关闭连接
CN.Close()
End Try
'排序
dv.Sort = strSort
Return dv
End Function Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
If Not IsPostBack Then
ViewState("strSort") = "orderid"
dgOrder.DataSource = GetDv(ViewState("strSort").ToString())
dgOrder.DataBind()
End If
End Sub
'排序
Private Sub dgOrder_SortCommand(ByVal source As Object,
ByVal e As System.Web.UI.WebControls.DataGridSortCommandEventArgs) Handles dgOrder.SortCommand
dgOrder.CurrentPageIndex = 0
'得到排序的列
ViewState("strSort") = e.SortExpression.ToString()
dgOrder.DataSource = GetDv(ViewState("strSort").ToString())
dgOrder.DataBind()
End Sub '分页
Private Sub dgOrder_PageIndexChanged(ByVal source As Object,
ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles dgOrder.PageIndexChanged
'得到分页的页号
dgOrder.CurrentPageIndex = e.NewPageIndex
dgOrder.DataSource = GetDv(ViewState("strSort").ToString())
dgOrder.DataBind()
End Sub
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 = Table2
DataGrid1.DataBind()
DataGrid1.Visible = True
End SubTable2是我一个前面已经定义好的一个DataTable
Handles MyBase.Load
If Not IsPostBack Then
ViewState("strSort") = "orderid"
dgOrder.DataSource = GetDv(ViewState("strSort").ToString())
dgOrder.DataBind()
End If
End Sub
不是很明白啊!各个变量代表的是什么啊?
Public Class sfcx
Inherits System.Web.UI.Page
Dim Sqlcnn As SqlConnection
Dim Table2 As New DataTable#Region " Web 窗体设计器生成的代码 " '该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Protected WithEvents Label3 As System.Web.UI.WebControls.Label
Protected WithEvents DropDownList1 As System.Web.UI.WebControls.DropDownList
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
Protected WithEvents DataGrid2 As System.Web.UI.WebControls.DataGrid
Protected WithEvents Panel1 As System.Web.UI.WebControls.Panel
Protected WithEvents Label41 As System.Web.UI.WebControls.Label
Protected WithEvents Label40 As System.Web.UI.WebControls.Label
Protected WithEvents Label39 As System.Web.UI.WebControls.Label
Protected WithEvents Label38 As System.Web.UI.WebControls.Label
Protected WithEvents Label37 As System.Web.UI.WebControls.Label
Protected WithEvents Label36 As System.Web.UI.WebControls.Label
Protected WithEvents Label35 As System.Web.UI.WebControls.Label
Protected WithEvents Label34 As System.Web.UI.WebControls.Label
Protected WithEvents Label33 As System.Web.UI.WebControls.Label
Protected WithEvents Label32 As System.Web.UI.WebControls.Label
Protected WithEvents Label31 As System.Web.UI.WebControls.Label
Protected WithEvents Label30 As System.Web.UI.WebControls.Label
Protected WithEvents Label29 As System.Web.UI.WebControls.Label
Protected WithEvents Label28 As System.Web.UI.WebControls.Label
Protected WithEvents Label27 As System.Web.UI.WebControls.Label
Protected WithEvents Label26 As System.Web.UI.WebControls.Label
Protected WithEvents Label25 As System.Web.UI.WebControls.Label
Protected WithEvents Label24 As System.Web.UI.WebControls.Label
Protected WithEvents Label23 As System.Web.UI.WebControls.Label
Protected WithEvents Label22 As System.Web.UI.WebControls.Label
Protected WithEvents Label21 As System.Web.UI.WebControls.Label
Protected WithEvents Label20 As System.Web.UI.WebControls.Label
Protected WithEvents Label19 As System.Web.UI.WebControls.Label
Protected WithEvents Label18 As System.Web.UI.WebControls.Label
Protected WithEvents Label17 As System.Web.UI.WebControls.Label
Protected WithEvents Label16 As System.Web.UI.WebControls.Label
Protected WithEvents Label15 As System.Web.UI.WebControls.Label
Protected WithEvents Label14 As System.Web.UI.WebControls.Label
Protected WithEvents Label13 As System.Web.UI.WebControls.Label
Protected WithEvents Label12 As System.Web.UI.WebControls.Label
Protected WithEvents Label11 As System.Web.UI.WebControls.Label
Protected WithEvents Label10 As System.Web.UI.WebControls.Label
Protected WithEvents Label9 As System.Web.UI.WebControls.Label
Protected WithEvents Label8 As System.Web.UI.WebControls.Label
Protected WithEvents Label7 As System.Web.UI.WebControls.Label
Protected WithEvents Label6 As System.Web.UI.WebControls.Label
Protected WithEvents Label5 As System.Web.UI.WebControls.Label
Protected WithEvents Label4 As System.Web.UI.WebControls.Label '注意: 以下占位符声明是 Web 窗体设计器所必需的。
'不要删除或移动它。
Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub#End Region Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
Sqlcnn = New SqlClient.SqlConnection
Sqlcnn.ConnectionString = "workstation id=WIN2003;packet size=4096;user id=sa;Pwd=123456789;data source=""192.168.0.2"";pers" & _
"ist security info=False;initial catalog=sfxtdb"
Sqlcnn.Open()
End Sub
Label41.Text = IIf(IsDBNull(Table1.Rows(0).Item(37)), "", Table1.Rows(0).Item(37))
DataGrid1.Visible = False
DataGrid2.Visible = True
Panel1.Visible = True
End Sub Private Sub DataGrid2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGrid2.SelectedIndexChanged
Panel1.Visible = True
Dim bh As Integer = DataGrid2.SelectedItem.Cells(1).Text
Dim SqlDa As New SqlClient.SqlDataAdapter("select * from tbYH where 用户编号=" & bh & "", Sqlcnn)
Dim dt As New DataSet
SqlDa.Fill(dt, "tbYH")
Dim Table As New DataTable
Table = dt.Tables(0)
Dim ny As Integer = DataGrid2.SelectedItem.Cells(2).Text
Dim SqlDa1 As New SqlClient.SqlDataAdapter("select 用户名称,用户地址,用户编号,托收编号,水价,上月行度,上月水量,换表行度,本月行度,本月用水,平均水量,退补水量,收费水量,本月水费,水费欠费,滞纳金,本月卫生费,本月治安费,本月污水费,卫生费欠费,治安费欠费,污水费欠费,实收金额,抄表标志,异常标志,水费收费标志,卫生费收费标志,治安费收费标志,污水费收费标志,开票标志,发票编号,开票日期,收费日期,滞纳金日期,抄表日期,银行反馈,收费员,备注 from VW_yh where 用户编号=" & bh & " and 收费年月=" & ny & "", Sqlcnn)
Dim dt1 As New DataSet
SqlDa1.Fill(dt1, "VW_yh")
Dim Table1 As New DataTable
Table1 = dt1.Tables(0)
Label4.Text = IIf(IsDBNull(Table1.Rows(0).Item(0)), "", Table1.Rows(0).Item(0))
Label5.Text = IIf(IsDBNull(Table1.Rows(0).Item(1)), "", Table1.Rows(0).Item(1))
Label6.Text = IIf(IsDBNull(Table1.Rows(0).Item(2)), "", Table1.Rows(0).Item(2))
Label7.Text = IIf(IsDBNull(Table1.Rows(0).Item(3)), "", Table1.Rows(0).Item(3))
Label8.Text = IIf(IsDBNull(Table1.Rows(0).Item(4)), "", Table1.Rows(0).Item(4))
Label9.Text = IIf(IsDBNull(Table1.Rows(0).Item(5)), "", Table1.Rows(0).Item(5))
Label10.Text = IIf(IsDBNull(Table1.Rows(0).Item(6)), "", Table1.Rows(0).Item(6))
Label11.Text = IIf(IsDBNull(Table1.Rows(0).Item(7)), "", Table1.Rows(0).Item(7))
Label12.Text = IIf(IsDBNull(Table1.Rows(0).Item(8)), "", Table1.Rows(0).Item(8))
Label13.Text = IIf(IsDBNull(Table1.Rows(0).Item(9)), "", Table1.Rows(0).Item(9))
Label14.Text = IIf(IsDBNull(Table1.Rows(0).Item(10)), "", Table1.Rows(0).Item(10))
Label15.Text = IIf(IsDBNull(Table1.Rows(0).Item(11)), "", Table1.Rows(0).Item(11))
Label16.Text = IIf(IsDBNull(Table1.Rows(0).Item(12)), "", Table1.Rows(0).Item(12))
Label17.Text = IIf(IsDBNull(Table1.Rows(0).Item(13)), "", Table1.Rows(0).Item(13))
Label18.Text = IIf(IsDBNull(Table1.Rows(0).Item(14)), "", Table1.Rows(0).Item(14))
Label19.Text = IIf(IsDBNull(Table1.Rows(0).Item(15)), "", Table1.Rows(0).Item(15))
Label20.Text = IIf(IsDBNull(Table1.Rows(0).Item(16)), "", Table1.Rows(0).Item(16))
Label21.Text = IIf(IsDBNull(Table1.Rows(0).Item(17)), "", Table1.Rows(0).Item(17))
Label22.Text = IIf(IsDBNull(Table1.Rows(0).Item(18)), "", Table1.Rows(0).Item(18))
Label23.Text = IIf(IsDBNull(Table1.Rows(0).Item(19)), "", Table1.Rows(0).Item(19))
Label24.Text = IIf(IsDBNull(Table1.Rows(0).Item(20)), "", Table1.Rows(0).Item(20))
Label25.Text = IIf(IsDBNull(Table1.Rows(0).Item(21)), "", Table1.Rows(0).Item(21))
Label26.Text = IIf(IsDBNull(Table1.Rows(0).Item(22)), "", Table1.Rows(0).Item(22))
Label27.Text = IIf(IsDBNull(Table1.Rows(0).Item(23)), "", Table1.Rows(0).Item(23))
Label28.Text = IIf(IsDBNull(Table1.Rows(0).Item(24)), "", Table1.Rows(0).Item(24))
Label29.Text = IIf(IsDBNull(Table1.Rows(0).Item(25)), "", Table1.Rows(0).Item(25))
Label30.Text = IIf(IsDBNull(Table1.Rows(0).Item(26)), "", Table1.Rows(0).Item(26))
Label31.Text = IIf(IsDBNull(Table1.Rows(0).Item(27)), "", Table1.Rows(0).Item(27))
Label32.Text = IIf(IsDBNull(Table1.Rows(0).Item(28)), "", Table1.Rows(0).Item(28))
Label33.Text = IIf(IsDBNull(Table1.Rows(0).Item(29)), "", Table1.Rows(0).Item(29))
Label34.Text = IIf(IsDBNull(Table1.Rows(0).Item(30)), "", Table1.Rows(0).Item(30))
Label35.Text = IIf(IsDBNull(Table1.Rows(0).Item(31)), "", Table1.Rows(0).Item(31))
Label36.Text = IIf(IsDBNull(Table1.Rows(0).Item(32)), "", Table1.Rows(0).Item(32))
Label37.Text = IIf(IsDBNull(Table1.Rows(0).Item(33)), "", Table1.Rows(0).Item(33))
Label38.Text = IIf(IsDBNull(Table1.Rows(0).Item(34)), "", Table1.Rows(0).Item(34))
Label39.Text = IIf(IsDBNull(Table1.Rows(0).Item(35)), "", Table1.Rows(0).Item(35))
Label40.Text = IIf(IsDBNull(Table1.Rows(0).Item(36)), "", Table1.Rows(0).Item(36))
Label41.Text = IIf(IsDBNull(Table1.Rows(0).Item(37)), "", Table1.Rows(0).Item(37))
End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) End Sub 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 = Table2
DataGrid1.DataBind()
DataGrid1.Visible = True
End Sub
End Class
这样的错误,所以问题要解决,你就必须绑定DataGrid以前,再运行一次绑定数据源的函数。
DataTable dt = (DataTable)DataGrid1.DataSource;
DataGrid1.DataSource = dt;
DataGrid1.DataBind();这样应该可以了啊,我已经绑你测试好了,思想就是,把DataGrid1中的数据拿出来,放到DataTable中,然后DataGrid1再次调用这个Table,这样就可以了。
不过有一点需要注意的就是,你这里绑定数据的时候用的是DataTable,
如果是DataView,就必须这样用:
DataSet ds = new DataSet();
ds = ((DataView)DataGrid1.DataSource).Table.DataSet;
DataGrid1.DataSource = ds.Tables[0].DefaultView;
如果是DatSet,则必须这样用:
DataSet ds= (DataSet)DataGrid1.DataSource;
----------
基本就是这么写的!!楼主测试好了,就给分啊——!!!!!
DataGrid1.DataSource = dt
这两句有错误啊!