个性化查询(具有分类模糊查询、换页等功能)

80酷酷网    80kuku.com

  下面是一个以查询为主的代码页,用的是datagrid,查询中我使用了一个DropDownList,用来判断是根据学号查询,还是根据用户名查询,至于查询的范围,你可以任意加的,至于显示共有多少页及当前页面的代码,我前面已经发过了:)
     这里用到了一个隐藏域,目的是避免当前页的索引值小于0。


代码如下:

     Sub pagechange(ByVal sender As Object, ByVal e As DataGridPageChangedEventArgs)
'//////////////bata2中必须写的,否则将不能换页!
        DataGrid1.CurrentPageIndex = e.NewPageIndex
        bindgrid()
    End Sub

    Public Sub bindgrid()
        Select Case DropDownList1.SelectedIndex
            Case 0
'//////////////在下面的sql语句里你可以增加查询字段
                Dim sql As String = "select * from stu_base where stu_id like '%" & keyword.Text & "%'"
                Dim comm As SqlDataAdapter = New SqlDataAdapter(sql, conn)
                Dim ds As DataSet
                ds = New DataSet()
                comm.Fill(ds, "stu_base")
                If ds.tables("stu_base") Is "" Then
                    DataGrid1.Visible = False
                Else
                    DataGrid1.DataSource = ds.Tables("stu_base").DefaultView
                    If ds.tables("stu_base").rows.count = 0 Then  '//////////////判断数据库是否为空
                        DataGrid1.Visible = False
                        Label6.Visible = True
                    Else
                        Label6.Visible = False
                        DataGrid1.Visible = True
                        DataGrid1.DataBind()
                    End If

                End If
                
            Case 1
                Dim sql As String = "select * from stu_base where name like '%" & keyword.Text & "%'"
                Dim comm As SqlDataAdapter = New SqlDataAdapter(sql, conn)
                Dim ds As DataSet
                ds = New DataSet()
                comm.Fill(ds, "stu_base")
                DataGrid1.DataSource = ds.Tables("stu_base").DefaultView
                DataGrid1.DataBind()
        End Select
    End Sub

    Private Sub querry1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles querry1.Click
'//////////////隐藏域,用来转换数据
        keyword.Text = querry.Text
        DataGrid1.CurrentPageIndex = 0
        bindgrid()
    End Sub

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: