思路,从数据库读取数据,得到一个DataTable,然后通过DataTable.Select()方法进行筛选来绑定子节点,
参考:
/// <summary>
/// 内容描述:用递归方法将数据中查询的数据添加TreeView控件的节点
/// </summary>
/// <param name="tnRoot">父节点</param>
/// <param name ="dataTB">根据条件查询数据的结果集,结果集用于绑定TreeView节点</param>
private void BindTreeNode(TreeNode tnRoot,DataTable dataTB)
{
string filter ="[Parent]='"+tnRoot.ID+"'";
DataRow[] childRows = dataTB.Select(filter); //将数据添加到节点
for (int i=0;i<childRows.Length;i++)
{
//创建节点
TreeNode tnChild = new TreeNode(); //将ID指定为节点的ID
tnChild.ID = childRows[i]["itemID"].ToString(); //获得每个类别的操作权限,以此控制操作按钮的可用性
string nodeText = childRows[i]["itemName"].ToString() ;
string nodeTip = childRows[i]["re"].ToString() ;
tnChild.ImageUrl = "Images/passage.gif";
tnChild.ExpandedImageUrl = "Images/passage.gif";
tnRoot.Nodes.Add(tnChild);
//递归.
this.BindTreeNode(tnChild,dataTB);
}
}
参考:
/// <summary>
/// 内容描述:用递归方法将数据中查询的数据添加TreeView控件的节点
/// </summary>
/// <param name="tnRoot">父节点</param>
/// <param name ="dataTB">根据条件查询数据的结果集,结果集用于绑定TreeView节点</param>
private void BindTreeNode(TreeNode tnRoot,DataTable dataTB)
{
string filter ="[Parent]='"+tnRoot.ID+"'";
DataRow[] childRows = dataTB.Select(filter); //将数据添加到节点
for (int i=0;i<childRows.Length;i++)
{
//创建节点
TreeNode tnChild = new TreeNode(); //将ID指定为节点的ID
tnChild.ID = childRows[i]["itemID"].ToString(); //获得每个类别的操作权限,以此控制操作按钮的可用性
string nodeText = childRows[i]["itemName"].ToString() ;
string nodeTip = childRows[i]["re"].ToString() ;
tnChild.ImageUrl = "Images/passage.gif";
tnChild.ExpandedImageUrl = "Images/passage.gif";
tnRoot.Nodes.Add(tnChild);
//递归.
this.BindTreeNode(tnChild,dataTB);
}
}
解决方案 »
- 顿悟?!新手浅谈事件与委托
- 关于属性的Get访问器
- LumiSoft.Net用pop3接收邮件,有些邮件接收时会产生异常,是什么原因呢?
- java程序运行平台的更换
- c#中模式窗体隐藏后怎么显示?
- 急!!c# 数据库连接上了,为什么向里面添加记录时添加不进去了?
- C++中有取文件名和行数的宏_FILE_ 和 _LINE_, c#中有这样功能的关键字或是方法么,请指教~
- c#快捷键问题
- TreeView控件难道每次都要重新加载吗?
- 根据一个dataTable怎么手工画一个报表,怎么样去分页?(熟悉printDocument,printPreviewDialog),请进
- MessageBox.show()弹出的对话框怎么能通过另一个线程关闭
- 为什么呀!
intA=strText.Length();
intB=intA/2+1 //长度/2取整+1就是它所在的层
if (typeof(nodeindex) == undefined)
{
return;
}
oNode = Tree_Item.getTreeNode(nodeindex);
strID = oNode.getAttribute("ID");