請問如果我用CheckBoxList做SQL條件篩選,而GridView有設定分頁
現在的問題是 一旦我跳到第二頁 他就變成全部顯示 而不會做條件篩選
而且CheckBoxList原勾選的項目會被清除
請問我該如何修改呢?
附上我的程式碼如下:
Partial Class _default
Inherits System.Web.UI.Page
Protected Sub btnQuery_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnQuery.Click
Dim whereCmd As String = ""
Dim choict As Integer = 0
Dim txtbox1 As Integer = 0
whereCmd = "SELECT id,noticeDate,Title FROM notice WHERE ( "
For i As Integer = 0 To Me.CheckBoxList1.Items.Count - 1
If Me.CheckBoxList1.Items(i).Selected Then
If CheckBoxList1.Items(i).Value = "1" Then
If choict = 1 Then '代表其他項目已經勾選
whereCmd += [String].Format(" or ((Id)=1) AND ((Title) Like '%{0}%')) , Me.tbTitle.Text.Trim(), Me.tbTitle.Text.Trim())
Else
'以下語法先省略,語法為SQL語法設定
End If
End If
If CheckBoxList1.Items(i).Value = "2" Then
If choict = 1 Then '代表其他項目已經勾選
'以下語法先省略,語法為SQL語法設定
Else
'以下語法先省略,語法為SQL語法設定
End If
End If
If CheckBoxList1.Items(i).Value = "3" Then
If choict = 1 Then '代表其他項目已經勾選
'以下語法先省略,語法為SQL語法設定
Else
'以下語法先省略,語法為SQL語法設定
End If
End If
If CheckBoxList1.Items(i).Value = "4" Then
If choict = 1 Then '代表其他項目已經勾選
'以下語法先省略,語法為SQL語法設定
Else
'以下語法先省略,語法為SQL語法設定
End If
End If
End If
Next
'判斷是否有勾選,若四個都沒有選取
If choict = 0 And tbTitle.Text.Length > 0 Then
'以下語法先省略,語法為SQL語法設定
ElseIf choict = 0 Then '沒有checkbox 也沒有textbox輸入 顯示全部
whereCmd = AccessDataSource1.SelectCommand
Else
whereCmd += " ) "
End If
AccessDataSource1.SelectCommand = whereCmd
GridView1.DataBind()
End Sub
Protected Sub viewAll_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles viewAll.Click
tbTitle.Text = ""
For i As Integer = 0 To Me.CheckBoxList1.Items.Count - 1
CheckBoxList1.Items(i).Selected = False
Next
GridView1.DataSourceID = "accessdatasource1"
GridView1.DataBind()
End Sub
End Class