DataGrid的一个格中放了多个CheckBox,如何遍历某一格中的所有CheckBox

bit_byte 2007-06-21 05:14:49
WebForm里DataGrid的一个列中包含了很多的CheckBox,我需要遍历出某一行中此列中的所有CheckBox,该如何遍历出呢?下面是我的代码,没有遍历出CheckBox,请各位指教
string role = null;
foreach(object obj in Form1.Controls)
{
if(obj is DataGrid)
{
foreach(object nobj in this.DataGrid1.Controls)
{
if(nobj is CheckBox)
{
CheckBox cb = (CheckBox)nobj;
if(cb.Checked == true)
{
role += "1";
}
else
{
role += "0";
}
}
}
}
}
...全文
280 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
bit_byte 2007-06-21
  • 打赏
  • 举报
回复
问题已解决,感谢各位的帮忙,特别多谢Jinglecat的帮助
Jinglecat 2007-06-21
  • 打赏
  • 举报
回复
1。
天啊,我的表述能力是如此之差!

2。
protected MyDataGrid_ItemComand(object sender, DataGridItemComandEventArgs e){
int cellIndex = 1; // 第二列,索引为 1
// 遍历子控件
foreach(Control ctrl in e.Item.Cells[cellIndex].Controls) {
if(ctrl is CheckBox) { // 确认是否为 CheckBox
CheckBox chk = (CheckBox)ctrl; // 显示转换
Response.Write(chk.Checked);
// 更多操作
}
}
bit_byte 2007-06-21
  • 打赏
  • 举报
回复
┌──────────────────────────────┐
│第一列 │ 放入了很多CheckBox的列 │ 操作按妞 │
├──────────────────────────────┤
│abc │ checkbox1 checkbox2 checkbox3 │  按妞     │
├──────────────────────────────┤ 
│def │ checkbox1 checkbox2 checkbox3 │  按妞     │ 
├──────────────────────────────┤
│fdf │ checkbox1 checkbox2 checkbox3 │  按妞     │ 
└──────────────────────────────┘
也许是我没表达清楚,以上就是一个DataGrid表格,当我点击某一行的按妞的时候,在ItemCommand事件中把这一行的第二列中所有的checkbox遍历出来,该如何写呢?恳请大家多多指教
Jinglecat 2007-06-21
  • 打赏
  • 举报
回复
1。
浪费大家时间

2。
foreach(Control ctrl in e.Item.Cells[cellIndex].Controls) {
chk = ctrl as CheckBox;
if(chk != null) {
// ....
Response.Write(chk.Checked);
}
bit_byte 2007-06-21
  • 打赏
  • 举报
回复
非常各位的热心指教,在DataGrid中,我需要的点击一个按妞,然后通过ItemCommand事件偏历出这一行的checkbox,我需要的是遍历DataGrid中某一行的checkbox,如何定位行号呢?
Jinglecat 2007-06-21
  • 打赏
  • 举报
回复
int cellIndex = 1; // 指定单元格
foreach(DataGridItem item in MyDataGrid.Items) {
CheckBox chk;
foreach(Control ctrl in item.Cells[cellIndex].Controls) {
chk = ctrl as CheckBox;
if(chk != null) {
// ....
Response.Write(chk.Checked);
}
}
}
WNASP 2007-06-21
  • 打赏
  • 举报
回复
for(int i=0;i<this.DataGrid1.rows;i++)
{
CheckBox cb = (CheckBox)DataGrid1.rows[i].cells[num].controls.findcontrol("controlid");
if(cb!=null)
{
}
}
ERPCoder 2007-06-21
  • 打赏
  • 举报
回复
for (int i=0; i<dgSympList.Items.Count; i++)
{
CheckBox chbItem = ((CheckBox)dgSympList.Items[i].Cells[0].FindControl("chbSelect"));
if (chbItem.Checked)
{
// 操作...
}
}
DavidNoWay 2007-06-21
  • 打赏
  • 举报
回复
good
yusongkun 2007-06-21
  • 打赏
  • 举报
回复
1楼方法正解,2楼怎么用js了?
artak 2007-06-21
  • 打赏
  • 举报
回复
<script language="javascript" type="text/javascript">
function selectAll(obj)
{
var theTable = obj.parentElement.parentElement.parentElement;
var i;
var j = obj.parentElement.cellIndex;

for(i=0;i<theTable.rows.length;i++)
{
var objCheckBox = theTable.rows[i].cells[j].firstChild;
if(objCheckBox.checked!=null)objCheckBox.checked = obj.checked;
}
}
</script>
Lcindep110 2007-06-21
  • 打赏
  • 举报
回复
foreach(DataGridItem item in this.DataGrid1.Items)
{
foreach(object nobj in items.Controls)
{
if(nobj is CheckBox)
{
CheckBox cb = (CheckBox)nobj;
if(cb.Checked == true)
{
role += "1";
}
else
{
role += "0";
}
}
}
}

62,046

社区成员

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

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

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

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