利用Session纪录datagrid模板列中CheckBox的状态
来源:互联网 发布:男生眼中的高圆圆知乎 编辑:程序博客网 时间:2024/04/28 00:56
在DataGrid 的模板列中加入CheckBox ,如果对DataGrid设置分页,前一页已经选中的CheckBox在回到原页时,CheckBox的状态会变为初始状态。
如果想保存checkbox的状态,则可以用Session保存,我是这样实现的:
1、首先,建立DataGrid.
<asp:datagrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 12px; POSITION: absolute; TOP: 88px" runat="server" AllowPaging="True" Width="416px" Height="248px">
<AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle>
<ItemStyle Font-Size="12px" Font-Names="宋体"></ItemStyle>
<HeaderStyle Font-Size="12px" Font-Names="宋体" BackColor="#00CCFF"></HeaderStyle>
<FooterStyle HorizontalAlign="Center"></FooterStyle>
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:checkbox id="CheckBox1" runat="server"></asp:checkbox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
2、在Global.asax文件中,Session_Start事件中建立Session
Sub Session_Start(ByVal sender As Object, 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的PageIndexChanged事件中:
Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
Dim count As Integer
Dim cnn As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/UserLog.mdb")
Dim da As New OleDb.OleDbDataAdapter("select * 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翻页后的状态保存问题.
- 利用Session纪录datagrid模板列中CheckBox的状态
- 利用Session纪录datagrid模板列中CheckBox的状态
- 利用Session纪录datagrid模板列中CheckBox的状态
- 对利用Session纪录datagrid模板列中CheckBox的状态的一点改进
- GridView/DataGrid 模板列中使用自动回发的 CheckBox/DropDownList
- DataGrid模板列的CheckBox事件定义方法
- DataGrid模板列的CheckBox事件定义方法
- DataGrid模板列,CheckBox事件邦定
- datagrid 中编辑模板列的问题
- ASP.NET DEMO 14: 如何在 GridView/DataGrid 模板列中使用自动回发的 CheckBox/DropDownList
- ASP.NET DEMO 14: 如何在 GridView/DataGrid 模板列中使用自动回发的 CheckBox/DropDownList
- DataGrid模板列应用——在DataGrid中用CheckBox控制TextBox的Enabled属性
- vs2003中遍历DataGrid里面的绑定列的CheckBox
- DataGrid 模板列中全选CheckBox 并在删除选中后给出选择删除提示
- datagrid控件中添加checkbox控件列
- datagrid控件中添加checkbox控件列
- EasyUI入门7 datagrid根据列值设置checkbox的绑定状态
- Winform 中DataGridView的checkbox列,当修改checkbox状态时实时获得其状态值
- 编写丰富多彩的CEdit控件
- VC中MSFLEXGRID内嵌EDIT实现编辑功能补充
- 企业上网的几个理由
- 最精致的日历式日期输入控件 (Smart Ver 1.00)
- DataGrid模板列中TextBox的焦点相应键盘事件
- 利用Session纪录datagrid模板列中CheckBox的状态
- ASP.NET开发中,添加客户端代码的几种方法
- 在ASP.NET中,向数据库批量插入数据
- .NET中的xpath
- HTML中的XML数据岛记录编辑与添加
- 利用radio实现Datagrid的单选
- IP地址输入控件 V1.0.1.1版(FOR Win Form)
- 串行化XML(一)
- 串行化XML(二)