如何实现将上万条数据绑定到微软的TreeView控件上.?下面给出一个解决方法。很简单以便大家参考。
效果图
关于TreeView的基本用法详见我前面的几篇文章。
部分实现代码如下:
效果图
关于TreeView的基本用法详见我前面的几篇文章。
部分实现代码如下:
private void Page_Load(object sender, System.EventArgs e)
{
evaluateRemotObj =(IEvaluate) Activator.GetObject(typeof(IEvaluate), System.Configuration.ConfigurationSettings.AppSettings["EvaluateRemoteObj"]);
if(!this.Page .IsPostBack )
{
TreeView1.DefaultStyle["font-size"] = "10pt";
InitNavigationTree(TreeView1.Nodes,"ABS100101");
}
}
{
evaluateRemotObj =(IEvaluate) Activator.GetObject(typeof(IEvaluate), System.Configuration.ConfigurationSettings.AppSettings["EvaluateRemoteObj"]);
if(!this.Page .IsPostBack )
{
TreeView1.DefaultStyle["font-size"] = "10pt";
InitNavigationTree(TreeView1.Nodes,"ABS100101");
}
}
private void InitNavigationTree(TreeNodeCollection tncCurrent,string sParentID)
{
DataView dvw = new DataView();
TreeNode nodTemp;
string strTempID;
DataSet ds=evaluateRemotObj.GetSubordinatesEmployee(sParentID);
dvw.Table = ds.Tables[0];
foreach(DataRowView drv in dvw)
{
nodTemp = new TreeNode();
nodTemp.ID = drv["EmployeeNumber"].ToString();
nodTemp.Text = drv["name"].ToString();
nodTemp.ImageUrl = "../images/icon_person1.gif";
nodTemp.Target = "personForm";
nodTemp.NavigateUrl ="../Common/EvaluationGrid.aspx?EmployeeNumber="+drv["EmployeeNumber"].ToString();
tncCurrent.Add(nodTemp);
strTempID = drv["EmployeeNumber"].ToString();
InitNavigationTree(nodTemp.Nodes,nodTemp.ID);
}
}
{
DataView dvw = new DataView();
TreeNode nodTemp;
string strTempID;
DataSet ds=evaluateRemotObj.GetSubordinatesEmployee(sParentID);
dvw.Table = ds.Tables[0];
foreach(DataRowView drv in dvw)
{
nodTemp = new TreeNode();
nodTemp.ID = drv["EmployeeNumber"].ToString();
nodTemp.Text = drv["name"].ToString();
nodTemp.ImageUrl = "../images/icon_person1.gif";
nodTemp.Target = "personForm";
nodTemp.NavigateUrl ="../Common/EvaluationGrid.aspx?EmployeeNumber="+drv["EmployeeNumber"].ToString();
tncCurrent.Add(nodTemp);
strTempID = drv["EmployeeNumber"].ToString();
InitNavigationTree(nodTemp.Nodes,nodTemp.ID);
}
}