我不希望PageIndexChanged中有:
If DropDownList1.SelectedValue = "用户编号" Then txtSql = "select * from tbyh where 用户编号=" & TextBox1.Text.Trim
If DropDownList1.SelectedValue = "用户名称" Then txtSql = "select * from tbyh where 用户名称 like '%" & TextBox1.Text & "%'"
If DropDownList1.SelectedValue = "用户地址" Then txtSql = "select * from tbyh where 用户地址 like '%" & TextBox1.Text & "%'"
If DropDownList1.SelectedValue = "用户电话" Then txtSql = "select * from tbyh where 用户电话 like '%" & TextBox1.Text & "%'"
Public Class sfcx
Inherits System.Web.UI.Page
Dim Sqlcnn As SqlConnection
Dim SqlDa As New SqlClient.SqlDataAdapter
Dim dt2 As New DataSet
Dim Table2 As New DataTable
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
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
DataGrid1.Visible = True
Panel1.Visible = True
DataGrid2.Visible = False
Dim txtSql As String
Dim a As String = DropDownList1.SelectedValue
If DropDownList1.SelectedValue = "用户编号" Then txtSql = "select * from tbyh where 用户编号=" & TextBox1.Text.Trim
If DropDownList1.SelectedValue = "用户名称" Then txtSql = "select * from tbyh where 用户名称 like '%" & TextBox1.Text & "%'"
If DropDownList1.SelectedValue = "用户地址" Then txtSql = "select * from tbyh where 用户地址 like '%" & TextBox1.Text & "%'"
If DropDownList1.SelectedValue = "用户电话" Then txtSql = "select * from tbyh where 用户电话 like '%" & TextBox1.Text & "%'"
Dim SqlDa2 As New SqlClient.SqlDataAdapter(txtSql, Sqlcnn)
SqlDa = SqlDa2
SqlDa2.Fill(dt2, "tbyh")
SqlDa.Fill(dt2, "tbyh")
Table2 = dt2.Tables(0)
DataGrid1.DataSource = Table2
DataGrid1.DataBind()
这就是我的按钮程序。
Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
是的,你双击那事件就出现了Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
是吧?那这没问题啊
那你说你的Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
是怎么出来的?
Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
必须从事件中添加的。什么意思啊?
还有,你这个Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
必须从事件中添加的。否则是不会运行的。
奇怪,我把搜索按钮程序加进去:
Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
DataGrid1.CurrentPageIndex = e.NewPageIndex
Dim txtSql As String
Dim a As String = DropDownList1.SelectedValue
If DropDownList1.SelectedValue = "用户编号" Then txtSql = "select * from tbyh where 用户编号=" & TextBox1.Text.Trim
If DropDownList1.SelectedValue = "用户名称" Then txtSql = "select * from tbyh where 用户名称 like '%" & TextBox1.Text & "%'"
If DropDownList1.SelectedValue = "用户地址" Then txtSql = "select * from tbyh where 用户地址 like '%" & TextBox1.Text & "%'"
If DropDownList1.SelectedValue = "用户电话" Then txtSql = "select * from tbyh where 用户电话 like '%" & TextBox1.Text & "%'"
Dim SqlDa2 As New SqlClient.SqlDataAdapter(txtSql, Sqlcnn)
SqlDa2.Fill(dt2, "tbyh")
Table2 = dt2.Tables(0)
DataGrid1.DataSource = Table2
DataGrid1.DataBind()
End Sub
竟然成功了,但是我把程序改为:
Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
Private Function GetDv(ByVal strSort As String) As DataView
'定义数据库连接
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