如何在asp.net treeview控件中的子节点上以编程方式设置showCheckbox

时间:2012-04-11 20:21:02

标签: c# asp.net treeview

我试图弄清楚如何通过代码在asp.net webform中为子节点设置一个复选框。

我的方法:

protected void CreateTreeViewList(System.Web.UI.WebControls.Panel p, ICollection<Agency> a)
        {
            TreeView agencyTreeView = new TreeView();

            var results = a;

            foreach (var item in results)
            {
                TreeNode node = new TreeNode(item.AgencyName);

               // var myagencies = item.SecurityDataShares1;

                Array entityList = Enum.GetValues(typeof(Entities));

                foreach (var ei in entityList)
                {
                   node.ShowCheckBox = true;
                   node.ChildNodes.Add(new TreeNode(ei.ToString()));
               }

                node.ChildNodes.Add(new TreeNode());

                agencyTreeView.Nodes.Add(node);
            }
            p.Controls.Add(agencyTreeView);
        }

这是我在树视图控件中的第一次拍摄,所以它可能会稍微偏离(任何提示都会受到赞赏)。

我被困在嵌套的foreach上我可以得到节点渲染(实体List只是一个包含10个文本元素的数组)。我似乎无法弄清楚如何分配节目文本框

我试过

node.ChildNodes.Add(new TreeNode(ei.ToString()).ShowCheckbox = true);

虽然intellisense支持它,但编译器抛出了错误。

另外作为旁注,我注意到复选框列表显示节点为链接有没有办法禁用它?

提前致谢,

1 个答案:

答案 0 :(得分:0)

经过一些搜索后,我发现了TreeNodeTypes属性

将以下行添加到下面方法的末尾或p.Controls.Add(agencyTreeView)

之前

为每个子节点添加了复选框

agencyTreeView.ShowCheckBoxes = TreeNodeTypes.Leaf;

希望这有助于任何有兴趣的人