按钮删除功能:
protected void imgBtn_DelFavorite_Click( object sender, ImageClickEventArgs e) { foreach ( TreeNode node in treeV_Favorite.CheckedNodes) { string SelectTreeID = node.Value; string strDelete = "delete from CD_HC_Favorite where IDUser='" + UserProfile.UserInfo.UserID.ToString() + "' and IDHelpFile='" + SelectTreeID + "' and status = '"+node.Parent.Value+"'"; PubLibrary.cmdExecute(strDelete); } BindFavoriteTree(); }==============================================================================下面介绍第二中方法前台:
<% @ Page Language="C#" AutoEventWireup="true" CodeFile="AutoTree.aspx.cs" Inherits="AutoTree_AutoTree" %> <! 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 > AutoTree </ title > </ head > < body > < form id ="form1" runat ="server" > < div > < asp:TreeView ID ="AutoTree" runat ="server" ShowLines ="True" > </ asp:TreeView > < asp:DropDownList ID ="ddlTreeNode" runat ="server" DataSourceID ="SqlDataSource1" DataTextField ="TreeName" DataValueField ="TreeValue" > </ asp:DropDownList > < asp:TextBox ID ="txtNode" runat ="server" ></ asp:TextBox > < asp:SqlDataSource ID ="SqlDataSource1" runat ="server" ConnectionString ="<%$ ConnectionStrings:ConnectionString %>" SelectCommand ="SELECT [TreeValue], [TreeName] FROM [AutoTree]" ></ asp:SqlDataSource > < asp:Button ID ="btnSubmit" runat ="server" Text ="Submit" OnClick ="btnSubmit_Click" Width ="60px" /> </ div > </ form > </ body > </ html >
后台:
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class AutoTree_AutoTree : System.Web.UI.Page { protected string constring = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString(); protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { InitTree(); } } // 递归绑定同一个表数据 private void InitTree() { DataTable dt = GetTreeViewTable(); DataView dv = new DataView(dt); dv.RowFilter = "TreeParentID='0'"; foreach (DataRowView drv in dv) { TreeNode node = new TreeNode(); node.Text = drv["TreeName"].ToString(); node.Value = drv["TreeValue"].ToString(); //node.ImageUrl = drv["TreeIco"].ToString(); node.Expanded = true; AutoTree.Nodes.Add(node); AddReplies(dt, node); } } private DataTable GetTreeViewTable() { SqlConnection con = new SqlConnection(constring); SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM AutoTree", con); DataTable dt = new DataTable(); da.Fill(dt); return dt; } private void AddReplies(DataTable dt, TreeNode node) { DataView dv = new DataView(dt); dv.RowFilter = "TreeParentID='" + node.Value + "'"; foreach (DataRowView row in dv) { TreeNode replyNode = new TreeNode(); replyNode.Text = row["TreeName"].ToString(); replyNode.Value = row["TreeValue"].ToString(); //replyNode.ImageUrl = row["TreeIco"].ToString(); //replyNode.NavigateUrl = row["TreeLink"].ToString().Trim(); //replyNode.Target = row["TargetStr"].ToString().Trim(); replyNode.Expanded = false; node.ChildNodes.Add(replyNode); AddReplies(dt, replyNode); } } protected void btnSubmit_Click(object sender, EventArgs e) { //string rootID = this.AutoTree.SelectedValue; string rootID = ddlTreeNode.SelectedValue.ToString(); string txtNode = this.txtNode.Text; using (SqlConnection Conn = new SqlConnection(constring)) { SqlCommand cmd = new SqlCommand("insert into AutoTree (TreeName,TreeParentID,TreeValue) values (@TreeName,@TreeParentID,@TreeName)", Conn); cmd.Parameters.Add("@TreeName", SqlDbType.NVarChar, 50).Value = txtNode; cmd.Parameters.Add("@TreeParentID", SqlDbType.NVarChar, 50).Value = rootID; Conn.Open(); cmd.ExecuteNonQuery(); ddlTreeNode.ClearSelection(); ddlTreeNode.DataSourceID = SqlDataSource1.ID; this.txtNode.Text = ""; } this.AutoTree.Nodes.Clear(); InitTree(); }}
数据库:ID,TreeParentID,TreeValue,TreeName.
第一条数据的 TreeParentID=0,TreeValue=1