///
/// 从数据库中读取数据
/// TREE对象
/// 节点
private void BindTreeView(DataTable dataTable, TreeNodeCollection TreeNodes, string parentId)
{
DataView dataView = new DataView(dataTable);
TreeNode node;
dataView.RowFilter = "Menu_parent=" + "'" + parentId + "'";//数据分流
foreach (DataRowView dataRowView in dataView)
{
node = new TreeNode();
node.Text = dataRowView["Menu_name"].ToString();//添加节点的名称
node.NavigateUrl=dataRowView["Menu_url"].ToString();//获取节点的URL地址
TreeNodes.Add(node);
BindTreeView(dataTable, node.ChildNodes, dataRowView["menu_Id"].ToString());//递归添加
}
}
希望能帮你,循环解决当然慢了,这个是递归问题
哪部分的效率比较低呢?看了下代码,一般也就这样生成吧
如果tn量特别大,那就考虑动态生成,分批次生成,时间延迟到要显示的时候
你直接用foreach可能会好点,