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();