求教------CheckBox模板列???

lxtf214 2006-04-28 11:06:27
我的程序中datagrid 模板列是CheckBox,在datagrid外还有 一个CheckBox控件ID为chkAll,一个button按扭ID 为btnDel.当我单击chkAll选中datagrid当前页中的所有项,当我单击btnDel删除我所选种的所有项.请教该怎样实现???


...全文
164 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxtf214 2006-04-28
  • 打赏
  • 举报
回复
需要更多的,快啊
yefeihaha 2006-04-28
  • 打赏
  • 举报
回复
for (int i=0;i<DataGrid1.Items.Count;i++ )
{
if (((CheckBox)DataGrid1.Items[i].FindControl("chkExport")).Checked==true)
{


}
}
lxtf214 2006-04-28
  • 打赏
  • 举报
回复
孟子大哥, 可我这样却怎么出问题了 ,
private void ckAll_CheckedChanged(object sender, System.EventArgs e)
{
foreach(DataGridItem dgI in DataGrid1.Items )
{

((CheckBox)dgI.FindControl("ckSelect")).Checked=ckAll.Checked;
}

}
DataGrid1里的项并没有选种啊
loveme4180 2006-04-28
  • 打赏
  • 举报
回复
帮楼住顶上
tonyye1979 2006-04-28
  • 打赏
  • 举报
回复
接上面的

// 得到指定DataGrid的题头的CheckBox对象

private CheckBox GetHeaderCheckBox(DataGrid grd)
{

CheckBox chkAll = null;

foreach (DataGridItem i in grd.Controls[0].Controls)
{
if(i.ItemType == ListItemType.Header)
{
chkAll = (CheckBox)i.FindControl("chkAll");
break;
}
}
return chkAll;
}
tonyye1979 2006-04-28
  • 打赏
  • 举报
回复
private void Grid_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
// 给页眉上的CheckBox添加触发事件

chkAll.CheckedChanged +=new EventHandler(chkAll_CheckedChanged);
}

private void chkAll_CheckedChanged(object sender, System.EventArgs e)
{
CheckBox chkAll = this.GetHeaderCheckBox(this.Grid);

foreach (DataGridItem oItem in this.Grid.Items)
{
CheckBox chk = (CheckBox)oItem.FindControl("chk");
chk.Checked = chkAll.Checked;
}
}
limengqiang 2006-04-28
  • 打赏
  • 举报
回复
来晚了5555
xiaogueizi 2006-04-28
  • 打赏
  • 举报
回复
孟子所要做的就是超越自己`~
而我的目标就是孟子`
Aden 2006-04-28
  • 打赏
  • 举报
回复
<asp:TemplateColumn HeaderText="选择">
<HeaderStyle Width="30px"></HeaderStyle>
<HeaderTemplate>
<input type="checkbox" id="chkHeader" title="全选" onclick="SelectAll(this)" />全选
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="chkItem" Height="10" Runat="server"></asp:CheckBox>
</ItemTemplate>
<FooterStyle Width="30px"></FooterStyle>
</asp:TemplateColumn>

js:
function SelectAll(box)
{
for (var i=0;i<document.Form1.elements.length;i++)
{
var e = document.Form1.elements[i];
if ( (e.type=='checkbox') )
{
var o=e.name.lastIndexOf('chkItem');
if(o!=-1)
{
e.checked = box.checked;
}
}

}
}


cs:

private void btnDel_Click(object sender, System.EventArgs e)
{
if(this.DataGrid1.Items.Count >0)
{
for(int i = 0; i < this.DataGrid1.Items.Count; i++)
{
System.Web.UI.WebControls.CheckBox cb = (System.Web.UI.WebControls.CheckBox)this.DataGrid1.Items[i].FindControl("chkItem");
if(cb.Checked)
{
int n = Convert.ToInt32(((System.Web.UI.WebControls.Label)this.DataGrid1.Items[i].FindControl("lblID")).Text.ToString().Trim());
Del(SqlConn,n);
}

}
}
}
孟子E章 2006-04-28
  • 打赏
  • 举报
回复
在datagrid的绑定事件里写:
((CheckBox)e.Item.FindControl("chkAll")).Checked=chkAll.Checked;
很简单的
jaliwey 2006-04-28
  • 打赏
  • 举报
回复
up
kokubo_wing 2006-04-28
  • 打赏
  • 举报
回复
那我的目标就是
以后提起孟子的时候还会提起我
:)
lxtf214 2006-04-28
  • 打赏
  • 举报
回复
感谢 !!!Aden(Aden)
lxtf214 2006-04-28
  • 打赏
  • 举报
回复
我的问题还没解决啊,还有吗,请求帮忙啊
我的全选按纽在 datagrid外面!

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧