我刚学asp.net,请教一下这个复选框如何遍历:
<asp:datagrid id="gridOrders" ....>
<Columns>
<asp:TemplateColumn HeaderText="选择">
<ItemTemplate> <asp:CheckBox id="CheckBox1" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="CID" HeaderText="编号"></asp:BoundColumn>
</Columns>
</datagrid>
全选必须遍历才能实现吗?
非常感谢解答!
<asp:datagrid id="gridOrders" ....>
<Columns>
<asp:TemplateColumn HeaderText="选择">
<ItemTemplate> <asp:CheckBox id="CheckBox1" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="CID" HeaderText="编号"></asp:BoundColumn>
</Columns>
</datagrid>
全选必须遍历才能实现吗?
非常感谢解答!
{
var thisfrm = document.forms[0];
var HeaderCheckBox;
var bAllChecked = true;
// 遍历Forms里面所有的元素
for (var i=0; i<thisfrm.length; i++)
{
// 如果事件的触发者是模板头中的CheckBox
if (idVal.indexOf(partName1) != -1)
{
if (thisfrm.elements[i].id.indexOf(partName2) != -1)
{
thisfrm.elements[i].checked = chkVal;
}
}
// 取得模板头中的CheckBox
if (thisfrm.elements[i].id.indexOf(partName1) != -1)
HeaderCheckBox = thisfrm.elements[i];
// 除题头以外的所有CheckBox的选中状态集合 if (thisfrm.elements[i].id.indexOf(partName2) != -1)
bAllChecked = bAllChecked && thisfrm.elements[i].checked;
}
HeaderCheckBox.checked = bAllChecked;
}
<asp:TemplateColumn HeaderText="选择">
<ItemTemplate>
<INPUT id="check" type="checkbox" name="check" value ='<%# DataBinder.Eval(Container.DataItem,"ID") %>'>
</ItemTemplate>
后台:string split = Request["check"];
split结果为一串选中项的ID值 以逗号格开
</asp:TemplateColumn>
那么用asp:CheckBox怎么做?应该有个集合可以遍历吧,我不知道怎么写这个集合
<ItemStyle Width="5%"></ItemStyle>
<ItemTemplate>
<asp:CheckBox id="check_id" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
==============================================================================
private void Checkall_CheckedChanged(object sender, System.EventArgs e)
{
System.Web.UI.WebControls.CheckBox chkExport ;
if(Checkall.Text=="全选")
{
foreach(DataGridItem oDataGridItem in dg.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("check_id");
chkExport.Checked = true;
}
Checkall.Checked=true;
Checkall.Text="放弃";
}
else
{
foreach(DataGridItem oDataGridItem in dg.Items)
{
chkExport = (CheckBox)oDataGridItem.FindControl("check_id");
chkExport.Checked = false;
}
Checkall.Checked=false;
Checkall.Text="全选";
}
}
===========================================================================
如果还是不行的话建议你可以去看看小山老师的 blog ,这篇文章对你应该会有帮助的。http://www.cnblogs.com/singlepine/archive/2005/11/01/266538.html
{
CheckBox CheckItem=(CheckBox)i.FindControl("CheckBox1");
if(CheckItem.Checked )
{
...
}
}
研究代码中..
我实践一下回来结贴