0

我想弄清楚如何通过代码将复选框设置为 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 上,我可以让节点渲染出来(实体列表只是 10 个文本元素的数组)。我似乎无法弄清楚如何分配一个显示文本框

我试过了

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

虽然智能感知支持它,但编译器抛出并出错。

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

提前致谢,

4

1 回答 1

0

经过更多搜索后,我发现了 TreeNodeTypes 属性

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

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

agencyTreeView.ShowCheckBoxes = TreeNodeTypes.Leaf;

希望这可以帮助任何有兴趣的人

于 2012-04-11T20:50:59.700 回答