今天学习了使用TreeView控件:使用站点地图完成对treeview的显示。用代码动态添加,使之在服务器中显示所要的效果,还可以用treeview 控件在代码区中调用数据库中的表格中的信息按某个字段进行排序然后调用它。using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bindtree();
}
}
private void bindtree()
{
DataTable dt = this.GetTreeTable();
this.fillnode(dt,null);
}
private void fillnode(DataTable dt,TreeNode node)
{
DataView dv = new DataView(dt);
if (node == null)
{
dv.RowFilter = "parentid='0'";
}
else
{
dv.RowFilter = "parentid='" + node.Value + "'";
}
foreach (DataRowView drv in dv)
{
TreeNode no = new TreeNode(drv["menuname"].ToString(),drv["menuid"].ToString());
fillnode(dt,no);
if (node == null)
{
this.TreeView1.Nodes.Add(no);
}
else
{
node.ChildNodes.Add(no);
}
}
}
private DataTable GetTreeTable()
{
string str=ConfigurationManager.ConnectionStrings["strcnn"].ConnectionString;
using (SqlConnection sqlcnn=new SqlConnection (str))
{
SqlCommand sqlcmm = sqlcnn.CreateCommand();
sqlcmm.CommandText = "select * from MenuTree order by ParentID,MenuOrder";
SqlDataAdapter da = new SqlDataAdapter(sqlcmm);
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[0];
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
bindtree();
}
}
private void bindtree()
{
DataTable dt = this.GetTreeTable();
this.fillnode(dt,null);
}
private void fillnode(DataTable dt,TreeNode node)
{
DataView dv = new DataView(dt);
if (node == null)
{
dv.RowFilter = "parentid='0'";
}
else
{
dv.RowFilter = "parentid='" + node.Value + "'";
}
foreach (DataRowView drv in dv)
{
TreeNode no = new TreeNode(drv["menuname"].ToString(),drv["menuid"].ToString());
fillnode(dt,no);
if (node == null)
{
this.TreeView1.Nodes.Add(no);
}
else
{
node.ChildNodes.Add(no);
}
}
}
private DataTable GetTreeTable()
{
string str=ConfigurationManager.ConnectionStrings["strcnn"].ConnectionString;
using (SqlConnection sqlcnn=new SqlConnection (str))
{
SqlCommand sqlcmm = sqlcnn.CreateCommand();
sqlcmm.CommandText = "select * from MenuTree order by ParentID,MenuOrder";
SqlDataAdapter da = new SqlDataAdapter(sqlcmm);
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[0];
}
}
}