利用Session紀錄datagrid模板列中CheckBox的狀態 (轉)
在DataGrid 的模板列中加入CheckBox ,如果對DataGrid設定分頁,前一頁已經選中的CheckBox在回到原頁時,CheckBox的狀態會變為初始狀態。:namespace prefix = o ns = "urn:schemas--com::office" />
如果想儲存checkbox的狀態,則可以用Session儲存,我是這樣實現的:
1、首先,建立DataGrid.
<:datagrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 12px; POSITION: absolute; TOP: 88px" runat="server" AllowPaging="True" Width="416px" Height="248px">
2、在Global.asax中,Session_Start事件中建立Session
Sub Session_Start(ByVal sender As , ByVal e As EventArgs)
' 在會話啟動時激發
Dim checks As Boolean() = New Boolean(10000) {}
Dim i As Integer
For i = 0 To 10000
checks(i) = False
Next
Session.Add("CheckBoxchecks", checks)
End Sub
3.在DataGrid的PageIndd事件中:
Private Sub DataGrid1_PageIndexChanged(ByVal As Object, ByVal e As System..UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
Dim count As Integer
Dim cnn As Ole.OleDbConnection = New OleDb.OleDbConnection("Provr=Microsoft.Jet.OLEDB.4.0;Data Source=c:UserLog.mdb")
Dim da As New OleDb.OleDbDataAdapter(" * from mm", cnn)
da.Fill(dst)
count = dst.Tables(0).Rows.Count 'DataGrid中的記錄總數;
Dim check As Boolean()
check = Me.Session("checkboxchecks") 'check()是記錄checkbox狀態的陣列,用session儲存。
Dim j As Integer
For j = 0 To DataGrid1.PageSize - 1
Dim Che As CheckBox = DataGrid1.Items(j).Cells(0).FindControl("CheckBox1")
If Not Che Is Nothing Then
If Che.Checked = True Then
check(DataGrid1.CurrentPageIndex * DataGrid1.PageSize + j) = True
Else
check(DataGrid1.CurrentPageIndex * DataGrid1.PageSize + j) = False
End If
End If
Next
DataGrid1.CurrentPageIndex = e.NewPageIndex
Dim ds As New DataSet()
da.Fill(ds, "a")
DataGrid1.DataSource = ds
DataGrid1.DataBind()
Dim i As Integer
For i = 0 To DataGrid1.PageSize - 1
Dim Cx2 As CheckBox = DataGrid1.Items(i).Cells(0).FindControl("CheckBox1")
If check(DataGrid1.CurrentPageIndex * DataGrid1.PageSize + i) = True Then
Cx2.Checked = True
Else
Cx2.Checked = False
End If
Next
End Sub
這樣就可以利用Session實現checkbox翻頁後的狀態儲存問題.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-963769/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在BCB中陣列的妙用和紀錄和改變控制元件的狀態 (轉)陣列控制元件
- DataGrid模板列中TextBox的焦點相應鍵盤事件 (轉)事件
- DataGrid中巢狀使用Repeater (轉)巢狀
- easyui datagrid editor checkbox 選中UI
- 為DataGrid新增CheckBox控制元件 (轉)控制元件
- easyui datagrid 動態生成列UI
- 【Oracle】-【v$session】v$session的SNIPED狀態OracleSession
- React Native 中的狀態列React Native
- 世界紀錄模板原始碼+Wap原始碼
- jQuery 操作checkbox翻頁儲存選中狀態jQuery
- MTS方式連線V$SESSION中的SERVER狀態SessionServer
- 什麼時候用有狀態session bean,什麼時候用無狀態session bean (轉)SessionBean
- 爬蟲如何利用session方法保持登陸狀態(selenium)爬蟲Session
- JavaScript設定checkbox核取方塊選中狀態JavaScript
- 利用模板實現動態的繼承體系 (轉)繼承
- 在狀態列中加入BitMap (轉)
- JS特效之狀態列冒泡 (轉)JS特效
- asp中利用陣列實現資料庫記錄的批次錄入方法 (轉)陣列資料庫
- jquery easyui datagrid 動態隱藏列jQueryUI
- 在Oracle中找出重複的紀錄的方法(轉)Oracle
- Java Hibernate 之 Session 狀態JavaSession
- React 回憶錄(四)React 中的狀態管理React
- 【筆記/模板】樹狀陣列筆記陣列
- android狀態列一體化(沉浸式狀態列)Android
- DataGrid中通過CHECKBOX來修改庫裡某個欄位的值
- WPF隨筆收錄-DataGrid固定右側列
- js根據checkbox的選中轉態輸出整行內容JS
- Toad中發現blocking session, 狀態為inactiveBloCSession
- session的狀態什麼時候是snipedSession
- android狀態列一體化(改變狀態列的背景顏色)Android
- Android 沉浸式狀態列攻略 讓你的狀態列變色吧Android
- iOS 狀態列的圖示iOS
- mysql 鎖狀態的一些狀態資訊記錄MySql
- 樹狀陣列模板+習題集陣列
- Oracle V$SESSION中的常用列OracleSession
- [快速搞定]android 狀態列一體化 沉浸式狀態列Android
- easyui datagrid 生成動態列後 實現分頁UI
- Flex2 發現之旅:動態建立DataGrid列Flex