重新绑定数据的时候,如何保留Datagrid中的checkbox的值
2005-06-22 11:10
417 查看
http://community.csdn.net/Expert/topic/4097/4097597.xml?temp=.1887323
Q:
ASP.NET(C#)开发WebForm
DataGrid中我使用了模版列,在其中添加了CheckBox。出现下面的情况:
当我通过按钮列编辑完一行,重新进行数据绑定的时候,原来选择好的CheckBox,会变成未被选择的状态。
请问有什么办法可以保留原来CheckBox的状态?请指点,谢谢!
学习,关注……
注:checkBox的checked属性是用户单击的。
A:
刚刚有人问过这个问题,我再回答一遍.
1.你必须对你的datagrid设定主键
2.在页面提交(重新绑定)之前,先求取datagrid控件(当前)被选中的项,并且把它们记录下来(你可简单的在页面放一个HIDDEN)
for(int i=0;i<this.datagrid1.Items.Count;i++)
{
CheckBox mychk = (CheckBox)this.datagrid1.Items[i].FindControl("CheckBox1");
if(mychk.Checked == true)
{
this.Hidden1.Value += "|" + this.datagrid1.DataKeys[i].ToString();
}
}
3.上述求取完成之后,再绑定
4.重新绑定完成之后(比如分页点击下一页,再回到原来的页面),取出hidden的值,循环控件判断主键值是否在HIDDEN的值里面,如果是就选中
string tmp = "";
string hvalue = "|" + this.Hidden1.Value + "|"
for(int i=0;i<this.datagrid1.Items.Count;i++)
{
CheckBox mychk = (CheckBox)this.datagrid1.Items[i].FindControl("CheckBox1");
tmp=this.datagrid1.DataKeys[i].ToString();
if(hvalue.indexOf(tmp) != -1)
{
//表示查找到当前记录了
mychk.Checked = true;
}
}
这样就可以顺利实现你的要求了.
Q:
ASP.NET(C#)开发WebForm
DataGrid中我使用了模版列,在其中添加了CheckBox。出现下面的情况:
当我通过按钮列编辑完一行,重新进行数据绑定的时候,原来选择好的CheckBox,会变成未被选择的状态。
请问有什么办法可以保留原来CheckBox的状态?请指点,谢谢!
学习,关注……
注:checkBox的checked属性是用户单击的。
A:
刚刚有人问过这个问题,我再回答一遍.
1.你必须对你的datagrid设定主键
2.在页面提交(重新绑定)之前,先求取datagrid控件(当前)被选中的项,并且把它们记录下来(你可简单的在页面放一个HIDDEN)
for(int i=0;i<this.datagrid1.Items.Count;i++)
{
CheckBox mychk = (CheckBox)this.datagrid1.Items[i].FindControl("CheckBox1");
if(mychk.Checked == true)
{
this.Hidden1.Value += "|" + this.datagrid1.DataKeys[i].ToString();
}
}
3.上述求取完成之后,再绑定
4.重新绑定完成之后(比如分页点击下一页,再回到原来的页面),取出hidden的值,循环控件判断主键值是否在HIDDEN的值里面,如果是就选中
string tmp = "";
string hvalue = "|" + this.Hidden1.Value + "|"
for(int i=0;i<this.datagrid1.Items.Count;i++)
{
CheckBox mychk = (CheckBox)this.datagrid1.Items[i].FindControl("CheckBox1");
tmp=this.datagrid1.DataKeys[i].ToString();
if(hvalue.indexOf(tmp) != -1)
{
//表示查找到当前记录了
mychk.Checked = true;
}
}
这样就可以顺利实现你的要求了.
相关文章推荐
- 如何使用动态创建模板列并绑定数据(GridView,Repeater,DataGrid)
- 将使用DataGrid进行数据绑定,使用Javascript控制当选中其中的checkbox时,该行颜色改变
- 如何使用动态创建模板列并绑定数据(GridView,Repeater,DataGrid)
- 如何保留数据重新建表(步骤)
- asp.net customdatagrid 或gridview绑定数据的时候经常要用到的 ItemDataBound 事件的方法
- DevExpress中GridControl的重新绑定数据后如何刷新
- 关于将数据库中的bit型数据绑定到DataGrid中的CheckBox的Checked属性的问题。
- 如何使用动态创建模板列并绑定数据(GridView,Repeater,DataGrid)
- 一个DataGrid多次绑定不同数据的时候我的用法
- spring3mvc如何把checkbox的值绑定到model对象的int数据类型
- 如何从 Datagrid 中获得单元格的内容与 使用值转换器进行绑定数据的转换IValueConverter
- 一个DataGrid多次绑定不同数据的时候的用法
- js_前台页面如何设置radio、checkbox、select三者的值以及绑定事件,方便后台接收数据
- 一个DataGrid多次绑定不同数据的时候我的用法
- c# 如何将数据集或datagrid中的数据绑定到文本框中
- EasyUI配置当点击一个datagrid的checkbox选中或取消选中记录的时候刷新另一个datagrid数据的方法
- C# winform 中如何设定让DATAGRID不绑定数据,而只做录入用
- WPF备忘录(3)如何从 Datagrid 中获得单元格的内容与 使用值转换器进行绑定数据的转换IValueConverter
- DataGrid Checkbox 数据设定、取值 如何通过post请求向后台提交[]数组
- winform下如何直接删除datagrid的数据源不重新绑定数据库