gridview中CheckBox没有被选上

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gridview中CheckBox没有被选上相关的知识,希望对你有一定的参考价值。

protected void chkRecmd__CheckedChanged(object sender, EventArgs e)

//遍历GridView控件的行
for (int i = 0; i < gvLeaguerInfo.Rows.Count; i++)

//获取每行对应的ID值
int Id = (int)gvLeaguerInfo.DataKeys[i].Value;
//如果CheckBox已经选中
if (((CheckBox)gvLeaguerInfo.Rows[i].FindControl("chkRecmd")).Checked)

//输出每行的ID值
Response.Write(Id);



gvLeaguerInfo为GridView控件ID值
当我选中了某个CheckBox,成功输出该行ID值,不过,当我重新载入页面时,刚才选中的CheckBox却没有被选上,我就是想解决这个问题。大家,不好意思,分数不多。。请多包涵~

参考技术A 你遇到的这个问题,我在第一次做的时候就解决了!在你数据库表中,设置一个type属性为0 如果你选中就将属性值改为1 在页面加载的时候查询一次数据库中type为1的,然后遍历循环一次页面!把Checkbox的Checked的属性设置为true;也许你做的和我的不一样,希望对你有帮助! 参考技术B 得理解http协议的无状态特性。http是不保存页面状态的,刷新后一切还原。如果要保存状态的办法,可以上网搜一下 网页状态保存 ,像session cookie什么的 参考技术C 重新加载后 每个控件都回到了原来的状态 CheckBox当然也会回到原来未选中的状态了

c#中GridView中checkbox如何全选

为什么CHECKBOX不被选中,没有被钩上 ,怎样检测被钩上了

用JS实现,具体代码为:
function
doSelect()

var
dom=document.all;
var
el=event.srcElement;
if(el.id.indexOf("全选框的ID")>=0&&el.tagName=="INPUT"&&el.type.toLowerCase()=="checkbox")

var
ischecked=false;
if(el.checked)
ischecked=true;
for(i=0;i

if(dom[i].id.indexOf("模板列里CHECKBOX的ID")>=0&&dom[i].tagName=="INPUT"&&dom[i].type.toLowerCase()=="checkbox")
dom[i].checked=ischecked;



再在模板列里CHECKBOX的ONCLICK=DOSELECT()
参考技术A 用JS实现,具体代码为:
function doSelect()

var dom=document.all;
var el=event.srcElement;
if(el.id.indexOf("全选框的ID")>=0&&el.tagName=="INPUT"&&el.type.toLowerCase()=="checkbox")

var ischecked=false;
if(el.checked)
ischecked=true;
for(i=0;i<dom.length;i++)

if(dom[i].id.indexOf("模板列里CHECKBOX的ID")>=0&&dom[i].tagName=="INPUT"&&dom[i].type.toLowerCase()=="checkbox")
dom[i].checked=ischecked;




再在模板列里CHECKBOX的ONCLICK=DOSELECT()
参考技术B 循环读GridView的所有行,用findcontrol方法找到每一行的checkbox,设置checkbox选中就可以了 参考技术C 比如0列是选择的,那么触发事件里加上。
for(int i = 0; i < gridview.rows.count; i++)

((..checkbos)gridview[i,0]).checked = true;


我这个是直接写的,大概就是这样了,

以上是关于gridview中CheckBox没有被选上的主要内容,如果未能解决你的问题,请参考以下文章

GridView中的CheckBox如何绑定数据?

js怎么取得name=checkbox[]的复选框选中个数

c#中GridView中checkbox如何全选

如何在`GridView`中启用显示突出显示

.net中,如何获取到gridview控件中的checkbox控件的值?

在gridview里设置checkbox多选