C#实现treeview绑定,取值,选中样式

来源:互联网 发布:豫广网络宽带怎么样 编辑:程序博客网 时间:2024/05/16 13:00
前台
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Admin_manageProduct_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title></title></head><body>    <form id="form1" runat="server">    <div>        <asp:TreeView ID="TreeView1" runat="server" ShowLines="True"             onselectednodechanged="TreeView1_SelectedNodeChanged">        </asp:TreeView>        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />    </div>    </form></body></html>
后台
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;public partial class Admin_manageProduct_Default : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {        if (!IsPostBack)        {            bindTree();        }        else        {            Response.Write("选择节点触发回发了");        }    }    private void bindTree()    {        MainCode mainCode = new MainCode();        DataTable dt = mainCode.GetProductType();//得到需要的datatable        this.FillNode(dt, null);    }    private void FillNode(DataTable dt, TreeNode node)    {        DataView dv = new DataView(dt);        if (node == null)    //根结点        {            dv.RowFilter = "PT_ParentID='0'";  //筛选到根结点的所有子节点        }        else  //不是根结点        {            dv.RowFilter = "PT_ParentID='" + node.Value + "'";   //筛选对应节点的所有子节点        }        foreach (DataRowView drv in dv)   //遍历填充节点的所有子节点,如果传入的节点node为叶子节点,遍历要退出,不再进行递归        {            TreeNode no = new TreeNode(drv["PT_Name"].ToString(), drv["PT_ID"].ToString());            FillNode(dt, no);  //填充no节点的子节点            if (node == null)            {                this.TreeView1.Nodes.Add(no);            }            else            {                node.ChildNodes.Add(no);            }        }    }    protected void Button1_Click(object sender, EventArgs e)    {        Response.Write("选择的文本是" + TreeView1.SelectedNode.Text);        Response.Write("选择的类型是" + TreeView1.SelectedValue);    }    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)    {        TreeView1.SelectedNodeStyle.BackColor = System.Drawing.Color.Red;    }}

关于获取数据,大家可以自己写一个ID NAME PID的分类表 获取了就可以了。

希望本文所述对大家的C#程序设计有所帮助。

0 0