首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选中嵌套日期分析者中的全部复选框

选中嵌套日期分析者中的全部复选框
EN

Stack Overflow用户
提问于 2012-09-20 21:32:36
回答 2查看 710关注 0票数 1

我有一个嵌套的datalist结构,并希望在每个cathegories上放置select all复选框。

顶部的复选框工作正常,但不知道如何为每个主目录执行此操作

这可以很好地工作:

代码语言:javascript
复制
 protected void cbTamaminiSec_CheckedChanged(object sender, EventArgs e)
{
    CheckBox cbTemp;

    foreach (DataListItem ItemP in parentDataList.Items)
    {
        cbTemp = (CheckBox)parentDataList.Items[ItemP.ItemIndex].FindControl("cbTumunuSec");
        cbTemp.Checked = cbTamaminiSec.Checked;

        DataList nestedDataList = (DataList)parentDataList.Items[ItemP.ItemIndex].FindControl("nestedDataList");

        foreach (DataListItem Item in nestedDataList.Items)
        {
            cbTemp = (CheckBox)nestedDataList.Items[Item.ItemIndex].FindControl("cbTamam");

            cbTemp.Checked = cbTamaminiSec.Checked;
        }
    }
}

但是我不知道部分选择(下面是parentdatalist中的复选框的代码),我把选定的id设为"0“来强调这个问题

代码语言:javascript
复制
  protected void cbTumunuSec_CheckedChanged(Object sender, EventArgs e)
    {
        int selected = 0;//= (int)parentDataList.SelectedItem.ToString(); // problem is here..

        DataList nestedDataList = (DataList)parentDataList.Items[selected].FindControl("nestedDataList");

        foreach (DataListItem Item in nestedDataList.Items)
        {
            CheckBox cbTemp = (CheckBox)nestedDataList.Items[Item.ItemIndex].FindControl("cbTamam");

            cbTemp.Checked = true;

        }
    }

解决方案是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-21 15:14:18

问题解决了!asp代码:

代码语言:javascript
复制
<asp:HiddenField ID="hiddenBaslikId" runat="server" Value='<%# Eval("baslikId") %>' />

代码隐藏:

代码语言:javascript
复制
protected void cbTumunuSec_CheckedChanged(Object sender, EventArgs e)
    {
    CheckBox checkAll = (CheckBox)sender;
    DataListItem item = (DataListItem)checkAll.NamingContainer;
    HiddenField HiddenID = (HiddenField)item.FindControl("hiddenBaslikId");

    int selected = Convert.ToInt32(HiddenID.Value)-1;

        DataList nestedDataList = (DataList)parentDataList.Items[selected].FindControl("nestedDataList");

        foreach (DataListItem Item in nestedDataList.Items)
        {
            CheckBox cbTemp = (CheckBox)nestedDataList.Items[Item.ItemIndex].FindControl("cbTamam");

            cbTemp.Checked = true;

        }
    }
票数 0
EN

Stack Overflow用户

发布于 2012-09-20 21:36:32

您可以尝试使用基于OfType LINQ OperatorControls propery的代码

代码语言:javascript
复制
var allControls = nestedDataList.Items[index].Controls.OfType<CheckBox>();

....//Filter with `Where Operator`

链接:http://msdn.microsoft.com/fr-fr/library/system.web.ui.control.controls(v=vs.80).aspx

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12513744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档