急!急!急!恳求各位帮忙,Treeview如何绑定数据显示数据?
tableC
Id Name Department branch
1 111 部门1 分公司1
2 222 部门3 分公司3
3 333 部门1 分公司1
4 33 部门1 分公司1
5 78 部门2 分公司1
6 99 部门3 分公司3
前台
<asp:TreeView ID="TreeView1" runat="server"
Font-Size="9pt" OnSelectedNodeChanged="TreeView1_SelectedNodeChanged"
OnTreeNodeExpanded="TreeView1_TreeNodeExpanded"
ForeColor="Black">
<NodeStyle HorizontalPadding="5px" VerticalPadding="5px" />
</asp:TreeView>
求后台应该如何写绑定Treeview的代码?
------解决方案--------------------
看楼主的数据是用不到递归的
Id Name Department branch
1 111 部门1 分公司1
2 222 部门3 分公司3
3 333 部门1 分公司1
4 33 部门1 分公司1
5 78 部门2 分公司1
6 99 部门3 分公司3
这实际上只是一张部门表,后面捎带着所属分公司,也就是说只有两层。
先创建一个根节点,然后创建分公司节点,然后部门节点。
实际上只需要循环不需要递归。
TreeNode rootNode = new TreeNode("根", "ID");
rootNode.ImageUrl = IMAGEURL;
TreeView.Nodes.Add(rootNode);
var branchquery = from depart in departs select depart.branch;
foreach (var branch in branchquery.distinct()){
TreeNode branchNode = new TreeNode(branch, "ID");
branchNode.ImageUrl = IMAGEURL;
rootNode.Nodes.Add(branchNode);
var query = from depart in departs where depart.branch==branch select depart;
foreach (var depart in query){
TreeNode departNode = new TreeNode(depart.Name, "ID");
departNode.ImageUrl = IMAGEURL;
branchNode.Nodes.Add(departNode);
}
}