1.首先如何在gridview中加入一个checkbox,注意不是checkboxfiled
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" BorderStyle="None" />//在这儿呢,是的,就是这么简单
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="countyname" HeaderText="县" FooterText="县区" />
<asp:BoundField DataField="DepartmentId" />
</Columns>
2.全选功能
找到checkbox1是最重要的:CheckBox cbox=(CheckBox)gridview1.Rows[i].FindControl("CheckBox1");
for (int i = 0; i < gridview1.Rows.Count; i++)
{
CheckBox cbox = (CheckBox)gridview1.Rows[i].FindControl("CheckBox1");
cbox.Checked = true;
}
这样就能实现全选功能
3.添加选中的项
for (int i = 0; i < gridview1.Rows.Count; i++)
{
CheckBox cbox=(CheckBox)gridview1.Rows[i].FindControl("CheckBox1");
if (cbox.Checked == true)
{
//添加数据的代码,三层架构啊,神马神马的。。。
}
}
跟全选功能差不多
4.如果要显示数据库中已有的项
就是页面载入给gridview绑定数据的时候,要在RowDataBound事件中完成,没执行一行数据,看符不符合条件让checkbox勾选上
5.访问gridview中隐藏的列
注意,一开始不能就隐藏某列,这样的话是取不到值的
gridview1.Columns[2].Visible = true;//绑定是多次使用的,所以绑定以前一定要看得到
DataSet dscounty = Lib.DBUtility.DbHelperSQL.Query("select * from county left join location on county.countyid=location.countyid and DepartmentId='"+Session["DepartmentId"].ToString().Trim()+"' where county.cityaddresscode='"+dw_city.SelectedValue+"'");
gridview1.DataSource = dscounty;
gridview1.DataBind();
gridview1.Columns[2].Visible = false;//绑定之后就让它隐藏,但是是能够访问并取到值得
===============================================
function signcheck(cbox)
{
var obj = document.getElementsByTagName("input");
for(var i=0;i<obj.length;i++)
{
if(obj[i].type=="checkbox")
{
obj[i].checked =false;
}
}
var sid = cbox.id;
document.getElementById(sid).checked=true;
}
gridview模板列代码:
<asp:TemplateField ShowHeader="False" HeaderText="选择">
<ItemTemplate>
<asp:CheckBox ID="CheckboxSign" runat="server" />
</ItemTemplate>
</asp:TemplateField>
gridview数据行数据加载:
protected void GridViewDuckSeed_RowDataBound(object sender, GridViewRowEventArgs e)
{
try
{
CheckBox cb = (CheckBox)e.Row.FindControl("CheckboxSign");
if (cb != null)
cb.Attributes.Add("onclick", "signcheck(" + cb.ClientID + ")");
}
catch
{
;
}
}
通过选择行执行删除操作:
protected void btnDelete_Click(object sender, EventArgs e)
{
string DuckNum = "", IsValid = "";
foreach (GridViewRow row in GridViewDuckSort.Rows)
{
CheckBox CheckboxSign = row.FindControl("CheckboxSign") as CheckBox;
if (CheckboxSign.Checked == true)
{
DuckNum = row.Cells[1].Text.ToString();
IsValid = row.Cells[3].Text.ToString();
}
}
if (!string.IsNullOrEmpty(DuckNum))
Master.MessageBox("可执行删除操作!");
else
Master.MessageBox("没有选择数据操作无效!");
}
}
如何让checkbox复选框只能单选
$("#txm").find(".checkbox").each(function(){
$(this).click(function(){
var test= $(this).attr("checked");
if(this.checked){
GetData(this.value);
$(this).parent("div").siblings().children(".checkbox").each(function(){
if(test== this.checked){
this.checked = false;
}
});
}
});
});
});