首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建父和子树视图复选框节点

创建父和子树视图复选框节点
EN

Stack Overflow用户
提问于 2012-10-01 13:13:58
回答 1查看 5.8K关注 0票数 1

我需要创建一个带有复选框的treeview控件。但是,我的treeview需要有父和子的复选框。在我的情况下,业务逻辑是用户可以选择"MS“,但可能不需要"Microsoft”。

我偶然发现了asp.net TreeView:如何在TreeView中使用CheckBox,但是,我似乎无法为"Microsoft“和"Adobe”节点创建一个复选框。我该怎么做?

html代码是:

代码语言:javascript
运行
复制
<form id="form1" runat="server">  
    <div>  
    <h2 style="color:Green">TreeView: ShowCheckBoxes</h2>  
        <asp:Label   
            ID="Label1"   
            runat="server"   
            Text="Checked Favorite"  
            Font-Size="Medium"  
            ForeColor="SeaGreen"  
            Font-Italic="true"  
            >  
        </asp:Label>  
        <br /><br />  
        <asp:TreeView   
            ID="TreeView1"  
            runat="server"  
            DataSourceID="XmlDataSource1"  
            >  
            <DataBindings>  
                <asp:TreeNodeBinding DataMember="Products" Text="Products" />  
                <asp:TreeNodeBinding DataMember="Type" TextField="Name" />  
                <asp:TreeNodeBinding DataMember="Product" TextField="Name" ValueField="ID" />  
            </DataBindings>  
        </asp:TreeView>  
        <br />  
        <asp:XmlDataSource   
            ID="XmlDataSource1"  
            runat="server"  
            >  
            <Data>  
                <Products>  
                    <Type Name="Microsoft">  
                        <Product ID="1" Name="MS Office"/>  
                        <Product ID="2" Name="ASP.NET"/>  
                    </Type>  
                    <Type Name="Adobe">  
                        <Product ID="1" Name="ColdFusion"/>  
                        <Product ID="2" Name="Flex"/>  
                        <Product ID="2" Name="Photoshop"/>  
                    </Type>  
                </Products>  
            </Data>  
        </asp:XmlDataSource>  
        <asp:Button ID="Button1" runat="server" Text="Submit Favorite" OnClick="Button1_Click" />  
    </div>  
    </form>  

后面的代码是:

代码语言:javascript
运行
复制
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace TreeviewCheckboxSample
{
    public partial class Treeview : System.Web.UI.Page
    {
        protected void Button1_Click(object sender, EventArgs e)
        {
            Label1.Text = "Your favorite:";
            if (TreeView1.CheckedNodes.Count > 0)
            {
                foreach (TreeNode node in TreeView1.CheckedNodes)
                {
                    Label1.Text += "<br />" + node.Text.ToString();
                }
            }
            else
            {
                Label1.Text = "Checked before submit.";
            }
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                TreeView1.ShowCheckBoxes = TreeNodeTypes.Leaf;
                TreeView1.ForeColor = System.Drawing.Color.Black;
                TreeView1.BackColor = System.Drawing.Color.White;
                TreeView1.Width = 200;
                Button1.Font.Bold = true;
                Button1.ForeColor = System.Drawing.Color.Crimson;
            }
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-01 13:19:19

属性并没有真正涵盖这个案例。

但是,在对树进行绑定之后,可以在每个节点上更改属性。该页面包含一些示例代码,这些代码甚至是基于节点的深度来执行的,这看起来就像您想要的一样。

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

https://stackoverflow.com/questions/12674020

复制
相关文章

相似问题

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