[转]GridView翻页时保持CheckBox选择状态
来源:互联网 发布:支持mac的游戏加速器 编辑:程序博客网 时间:2024/04/29 03:26
//定义翻页bool 1private bool changed=false;
//定义保存选择项主键集合属性 1
protected List<string> SelectedItems
2 {
3 get { return ViewState["selecteditems"]!=null ? (List<string>)ViewState["selecteditems"] : null; }
4 set { ViewState["selecteditems"] = value; }
5 }
//获取选择项主键
1private void GetSelectedItem()
2{
3 List<string> selecteditems = null;
4 if (this.SelectedItems == null)
5 {
6 selecteditems = new List<string>();
7 }
8 else
9 {
10 selecteditems = this.SelectedItems;
11 }
//获取选择的记录
14 for (int i = 0; i < this.gvwResult.Rows.Count; i++)
15 {
16 CheckBox cbx = (CheckBox)this.gvwResult.Rows[i].FindControl("chkSelect");
17
18 string id = this.gvwResult.DataKeys[i].Values[0].ToString();
19
20 if (selecteditems.Contains(id) && !cbx.Checked)
21 selecteditems.Remove(id);
22 if (!selecteditems.Contains(id) && cbx.Checked)
23 selecteditems.Add(id);
24 }
25 this.SelectedItems = selecteditems;
26}
//在 DataBinding事件中执行GetSelectedItem()
1protected void gvwResult_DataBinding(object sender, EventArgs e)
2 {
3 GetSelectedItem();
4 changed=true;
5 }
//在行绑定时确定CheckBox选中状态
1protected void gvwResult_RowDataBound(object sender, GridViewRowEventArgs e)
2 {
3 if (e.Row.RowIndex > -1 && this.SelectedItems!= null)
4 {
5 CheckBox cbx = (CheckBox)e.Row.FindControl("chkSelect");
6 string id = this.gvwResult.DataKeys[e.Row.RowIndex].Values[0].ToString();
7 if (SelectedItems.Contains(id))
8 cbx.Checked = true;
9 else
10 cbx.Checked = false;
11 }
12 }
//根据changed确定是否再执行GetSelectedItem(),否则不翻页时选择项获取不到.
1protected void btnConfirm_Click(object sender, EventArgs e)
2 {
3 if(!changed)
4 GetSelectedItem();
5 foreach (string id in (List<string>)this.SelectedItems)
6 {
7
8 }
9 }
//定义保存选择项主键集合属性 1
protected List<string> SelectedItems
2 {
3 get { return ViewState["selecteditems"]!=null ? (List<string>)ViewState["selecteditems"] : null; }
4 set { ViewState["selecteditems"] = value; }
5 }
//获取选择项主键
1private void GetSelectedItem()
2{
3 List<string> selecteditems = null;
4 if (this.SelectedItems == null)
5 {
6 selecteditems = new List<string>();
7 }
8 else
9 {
10 selecteditems = this.SelectedItems;
11 }
//获取选择的记录
14 for (int i = 0; i < this.gvwResult.Rows.Count; i++)
15 {
16 CheckBox cbx = (CheckBox)this.gvwResult.Rows[i].FindControl("chkSelect");
17
18 string id = this.gvwResult.DataKeys[i].Values[0].ToString();
19
20 if (selecteditems.Contains(id) && !cbx.Checked)
21 selecteditems.Remove(id);
22 if (!selecteditems.Contains(id) && cbx.Checked)
23 selecteditems.Add(id);
24 }
25 this.SelectedItems = selecteditems;
26}
//在 DataBinding事件中执行GetSelectedItem()
1protected void gvwResult_DataBinding(object sender, EventArgs e)
2 {
3 GetSelectedItem();
4 changed=true;
5 }
//在行绑定时确定CheckBox选中状态
1protected void gvwResult_RowDataBound(object sender, GridViewRowEventArgs e)
2 {
3 if (e.Row.RowIndex > -1 && this.SelectedItems!= null)
4 {
5 CheckBox cbx = (CheckBox)e.Row.FindControl("chkSelect");
6 string id = this.gvwResult.DataKeys[e.Row.RowIndex].Values[0].ToString();
7 if (SelectedItems.Contains(id))
8 cbx.Checked = true;
9 else
10 cbx.Checked = false;
11 }
12 }
//根据changed确定是否再执行GetSelectedItem(),否则不翻页时选择项获取不到.
1protected void btnConfirm_Click(object sender, EventArgs e)
2 {
3 if(!changed)
4 GetSelectedItem();
5 foreach (string id in (List<string>)this.SelectedItems)
6 {
7
8 }
9 }
- [转]GridView翻页时保持CheckBox选择状态
- GridView翻页时保持CheckBox选择状态
- GridView翻页时保持CheckBox选择状态
- GridView翻页时保持CheckBox选择状态
- GridView 翻页后保持checkbox选中状态
- GridView 如何在翻页时保持CheckBox的选择
- GridView 如何在翻页时保持CheckBox的选择
- GridView分页+保持checkbox状态
- EasyUI datagrid实现翻页保持checkbox状态
- GridView中的CheckBox 翻页时记录选中状态
- GridView CheckBox 翻页不保存状态
- 实现GridView翻页并且实现CheckBox选中功能的保持
- js实现翻页后保持checkbox选中状态
- 关于GridView翻页checkBox状态保存的问题
- 关于GridView翻页checkBox状态保存的问题 (session)
- 关于GridView翻页checkBox状态保存的问题
- 关于GridView翻页checkBox状态保存的问题
- JS实现对gridview中的checkbox的选中个数记录,并在页面刷新时保持checkbox的状态 .
- 24位位图转化为灰度图
- 检查端口是否被使用VC代码
- 搭建sock5代理
- C#中怎样学好带参数的构造函数
- [求职]
- [转]GridView翻页时保持CheckBox选择状态
- CString,string,char*的综合比较
- ajax 工具 类
- hibernate 和 spring 结合的配置属性结构图.
- 数据库常见的三种join方式
- Miscellaneous 常数
- Tapestry4整合Spring
- 微软李和恒:测试需要最短时间内找到最值钱的宝物
- derived类对象能访问的protected成员属于是自个的基类部分的