日期:2014-05-20  浏览次数:20383 次

TreeView数据绑定的小问题,100分,在线等,在线结贴.
开发环境   vs2003,c#,数据库mssql
现在aspx上有一个控件   TreeView1.
数据库中有表如下,数据若干
id(int)     sheng(char)     xian(char)
1                   重庆                   大足
2                   陕西                   西丰
3                   重庆                   电江
  ..........................
--------------------------------------
需要形成的TreeView结构如下:

+   重庆
    -     大足
    -     电江
+   陕西
    -     西丰
----------------------------------------
现在有的数据集是一个dataset   ds,需要从ds中读取数据填充到TreeView中.
----------------------------------------

小弟初学,请高手根据条件给出代码,我复制过去就能用,最好是写点注释.谢谢了.
在线等,在线结贴.

------解决方案--------------------
private DataTable sheng()
{
//select distinct [id],[sheng] from [table]
//返回所有不重复省的DataTable,细节略
}

private DataTable xian(string shengName)
{
//根据省名称返回属于该省的所有县的DataTable,细节略
}

private void bindTree()
{
//绑定TreeView控件
DataTable sheng = sheng();
DataTable xian = null;
foreach (DataRow dw in sheng)
{
//生成父节点
TreeNode level1= new TreeNode(dw[ "sheng "].ToString(), dw[ "id "].ToString());
xian = xian(dw[ "sheng "].ToString());
foreach (DataRow dw1 in xian)
{
//生成子节点
TreeNode level2= new TreeNode( "linkUrl ",dw1[ "id "].ToString(), " ",dw1[ "xian "].ToString(), "target ");
level1.ChildNodes.Add(level2);


}

}
}

差不多就是上面这样吧。
------解决方案--------------------
帮LZ顶
------解决方案--------------------
//初始化根节点
private void _InitTreeView()
{
this.TreeView1.Nodes.Clear();

Microsoft.Web.UI.WebControls.TreeNode node;

OR.agentserverOR_Coll firstTree = new DA.datacenterDA().SPY_agentserver_get();

foreach(OR.agentserverOR rowRoot in firstTree)
{
node = new Microsoft.Web.UI.WebControls.TreeNode();
node.Text = rowRoot.name.ToString().Trim();
node.ID = rowRoot.AgentBM.ToString().Trim();

this.TreeView1.Nodes.Add(node);
this.TreeView1.ImageUrl = "images/root.gif ";
//递归增加相应的子节点
this._InitSubNode(node, 1, rowRoot.AgentBM, false);
}
}

//初始化子节点
private void _InitSubNode(Microsoft.Web.UI.WebControls.TreeNode Nds, Int32 parentId, String agentbm, Boolean isCenter)
{
OR.y_treeOR_Coll tree = new DA.y_treeDA().SPY_y_tree_getByParentId(parentId);
Microsoft.Web.UI.WebControls.TreeNode subNode;
foreach(OR.y_treeOR treeNode in tree)
{
subNode = new Microsoft.Web.UI.WebControls.TreeNode();
subNode.Text = treeNode.name.ToString().Trim();
subNode.ID = treeNode.treeId.ToString().Trim();