如何在gridview中添加复选框?

2025-01-19 06:56:15
推荐回答(5个)
回答1:

Gridview里的模版列












上面调用的一个js!有一定的局限!只能选中!不能反选 !
想反选的话你可以在cs里给第一个checkbox加事件!

cs代码:
foreach (GridViewRow sgvRow in this.gvAdsType.Rows)
{
CheckBox cbo = (CheckBox)sgvRow.FindControl("ckbItem");
CRED_AdsEntity objEntity = new CRED_AdsEntity();
if (cbo.Checked)
{
objEntity.sAdID = this.gvAdsType.DataKeys[sgvRow.RowIndex][0].ToString();
delList.Add(objEntity);
}
}

这个是循环谁被选中的!

绑定gridview时一定要把他的datakey绑上!

加分吧!come on!!!

回答2:

动态添加各列:
Style="left: 0px; position: relative; top: 0px" Width="100%" OnPageIndexChanged="downpage_Click" AllowPaging="True">

选">




……


再添加js脚本
function checkAll(obj)//全选
{
for (i=0;i {
if(document.all[i].type=="checkbox"||document.all[i].type=="radio")
{
document.all[i].checked=obj.checked;
}
}
}
这样就行了 点全选中间的复选框就可以全选了,当然,单个选那当然可以了。

回答3:

在GridView添加一个模板列:










用法:
protected void cbSelAll_CheckedChanged(object sender, EventArgs e)
{
CheckBox cbAll = (CheckBox)sender;
if (cbAll.Text == "全选")
{
foreach (GridViewRow gvr in GridView1.Rows)
{
CheckBox cbSel = (CheckBox)gvr.Cells[0].FindControl("cbSel");
cbSel.Checked = cbAll.Checked;
}
}
}

foreach (GridViewRow gvr in GridView1.Rows)
{
CheckBox cbSel = (CheckBox)gvr.Cells[0].FindControl("cbSel");
if (cbSel.Checked == false)
{
//...
}
}

回答4:

为Gridview添加模板列,设计模板列的时候拖个CheckBox进去。引用的时候用(CheckBox)Gridview.FindControl("CheckBox1")来获取当前行的CheckBox。
PS:
可能你需要对Gridview遍历。

回答5:

huf