
跪求c#中treeview绑定数据库详细代码,数据库中的数据表怎么建?? 15
2个回答
展开全部
从数据库读取节点,动态绑定TreeView .
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TreeView.aspx.cs" Inherits="Admin_Page_TreeView" %>
<!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 leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<form id="form1" runat="server">
<div>
<asp:TreeView ID="tv" runat="server" ImageSet="Arrows" ShowLines="True" ExpandDepth="1">
<ParentNodeStyle Font-Bold="False" />
<HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" BorderStyle="None" />
<SelectedNodeStyle
Font-Underline="False" HorizontalPadding="0px" VerticalPadding="0px" ForeColor="#5555DD" />
<NodeStyle Font-Names="Verdana" Font-Size="14px" ForeColor="Black" HorizontalPadding="5px"
NodeSpacing="0px" VerticalPadding="0px" />
</asp:TreeView>
</div>
</form>
</body>
</html>
TreeView.Aspx.CS部分
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;
public partial class Admin_Page_Menu_List : WebFormCommon
{
private DataSet dstv = new DataSet();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();//获取数据源
bindtree(tv.Nodes,"0");//帮定树
}
}
private void bindtree(TreeNodeCollection Nds, string strFartherID)
{
DataRow[] rows = dstv.Tables[0].Select("menu_fatherID=" + strFartherID);
TreeNode tmpNd;
foreach (DataRow row in rows)
{
tmpNd = new TreeNode();
tmpNd.Value = row["menu_id"].ToString();
tmpNd.Text = row["menu_name"].ToString();
tmpNd.NavigateUrl = "Menu_AddOrMod.aspx?id=" + tmpNd.Value;
tmpNd.Target = "right";
Nds.Add(tmpNd);
bindtree(tmpNd.ChildNodes, tmpNd.Value);//递归调用方法
}
}
private void BindGrid()
{
DataSet ds = new DataSet();
string sql = "select * from web_menu order by menu_fatherid,menu_id asc";
ds = SqlHelper.BindSql_ReturnDataSet(sql);//读取数据返回DataSet
dstv = ds;
}
}
数据表:
menu_id :(菜单)ID
menu_fatherid:(菜单)父级ID(即对应的父级菜单的ID)
menu_name:(菜单)名
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TreeView.aspx.cs" Inherits="Admin_Page_TreeView" %>
<!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 leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<form id="form1" runat="server">
<div>
<asp:TreeView ID="tv" runat="server" ImageSet="Arrows" ShowLines="True" ExpandDepth="1">
<ParentNodeStyle Font-Bold="False" />
<HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" BorderStyle="None" />
<SelectedNodeStyle
Font-Underline="False" HorizontalPadding="0px" VerticalPadding="0px" ForeColor="#5555DD" />
<NodeStyle Font-Names="Verdana" Font-Size="14px" ForeColor="Black" HorizontalPadding="5px"
NodeSpacing="0px" VerticalPadding="0px" />
</asp:TreeView>
</div>
</form>
</body>
</html>
TreeView.Aspx.CS部分
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;
public partial class Admin_Page_Menu_List : WebFormCommon
{
private DataSet dstv = new DataSet();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();//获取数据源
bindtree(tv.Nodes,"0");//帮定树
}
}
private void bindtree(TreeNodeCollection Nds, string strFartherID)
{
DataRow[] rows = dstv.Tables[0].Select("menu_fatherID=" + strFartherID);
TreeNode tmpNd;
foreach (DataRow row in rows)
{
tmpNd = new TreeNode();
tmpNd.Value = row["menu_id"].ToString();
tmpNd.Text = row["menu_name"].ToString();
tmpNd.NavigateUrl = "Menu_AddOrMod.aspx?id=" + tmpNd.Value;
tmpNd.Target = "right";
Nds.Add(tmpNd);
bindtree(tmpNd.ChildNodes, tmpNd.Value);//递归调用方法
}
}
private void BindGrid()
{
DataSet ds = new DataSet();
string sql = "select * from web_menu order by menu_fatherid,menu_id asc";
ds = SqlHelper.BindSql_ReturnDataSet(sql);//读取数据返回DataSet
dstv = ds;
}
}
数据表:
menu_id :(菜单)ID
menu_fatherid:(菜单)父级ID(即对应的父级菜单的ID)
menu_name:(菜单)名
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询