今天,做一个TreeView的工具,用来显示网页的分类,点击相应的网页的名字可以进入相应网页。我设置了TreeView的ShowLine=True;设置了ImageSet=Custom。相应的设置还有
TreePrivilieges.ImageSet = TreeViewImageSet.Custom;
TreePrivilieges.ExpandImageUrl = "~\\Image\\Folder_old.gif";
TreePrivilieges.CollapseImageUrl = "~\\Image\\folder_o.gif";
TreePrivilieges.NoExpandImageUrl = "~\\Image\\ie.gif";
但是奇怪的是Line和Node前的图标不能同时显示,只能显示其中的一个,我很是郁闷了希望高手通知们能够帮帮我解决这个问题,我在网上查过,但是似乎人家没人提出类似的问题,好像这两个属性是不冲突的啊,我是菜鸟,希望各位不要吝啬啊。
代码如下
using System;
using System.Data;
using System.Configuration;
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;
using System.Drawing;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//TreePrivilieges = this.Page.FindControl("TreePrivilieges");
//Page.Controls.Add("TreePrivilieges");
if (!IsPostBack)
{
InitTreeView();
}
//InitTreeView();
}
protected void InitTreeView()
{
TreePrivilieges.ShowLines = true;
TreePrivilieges.LineImagesFolder = "~\\LineImages";
//TreePrivilieges.ShowExpandCollapse = false;
TreePrivilieges.ImageSet = TreeViewImageSet.Custom;
TreePrivilieges.ExpandImageUrl = "~\\Image\\Folder_old.gif";
TreePrivilieges.CollapseImageUrl = "~\\Image\\folder_o.gif";
TreePrivilieges.NoExpandImageUrl = "~\\Image\\ie.gif";
TreePrivilieges.Height = 2;
TreePrivilieges.NodeWrap=true;
TreePrivilieges.NodeIndent = 25;
//TreePrivilieges.NodeStyle.NodeSpacing = 0;
//TreePrivilieges.NodeStyle.ChildNodesPadding = 10;
DataTable dt = new DataTable();
DataSet ds = GetDs();
dt = ds.Tables[0];
DataView dv = new DataView(dt);
dv.RowFilter = "url_id=00";
foreach (DataRowView drv in dv)
{
TreeNode tn = new TreeNode();
tn.Text = drv["url_name"].ToString();
tn.Value = drv["url_id"].ToString();
tn.NavigateUrl = drv["url_value"].ToString();
//tn.ImageUrl="~\\Image\\ie.gif";
TreePrivilieges.Nodes.Add(tn);
AppChild(dt, tn);
}
}
protected DataSet GetDs()
{
//DataTable dt = new DataTable();
DataSet ds=new DataSet();
SqlConnection sql = DataConn.getConn();
SqlCommand cmd = new SqlCommand("select * from url", sql);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
da.Fill(ds);
return ds;
}
protected void AppChild(DataTable dt,TreeNode node)
{
DataView dv = new DataView(dt);
dv.RowFilter = "pre_url_id='" + node.Value + "'";
foreach (DataRowView drv in dv)
{
TreeNode childtn = new TreeNode();
childtn.Text = drv["url_name"].ToString();
childtn.Value = drv["url_id"].ToString();
childtn.NavigateUrl = drv["url_value"].ToString();
//childtn.ImageUrl = "~\\Image\\ie.gif";
childtn.ShowCheckBox = true;
childtn.Expanded = true;
node.ChildNodes.Add(childtn);
AppChild(dt, childtn);
}
}
}