日期:2014-05-19  浏览次数:20530 次

asp.net 1.1 中treeview的问题
数据库为sql2000
字段有
  dm                                 name
    1                               一级目录
    10                             二级目录
    1000                         三级目录
    1000000                   四级目录
    1000001                   四级目录
    11                             二级目录
    1100                         三级目录
    1100000                   四级目录
    1100001                   四级目录
    2                               一级目录
    20                             二级目录
    2000                         三级目录
    2000000                   四级目录
    2000001                   四级目录
   

分4级目录
第一级为dm的长度为1的
第二级为dm的长度为2的
第三级为dm的长度为4的
第四级为dm的长度为7的

请问怎么用treeview生成一棵树?
请给个例子.谢谢!

------解决方案--------------------
根据name属性,一点点把node加到树上吧。
------解决方案--------------------
public class GetPID
{
public GetPID()
{

}
/// <summary>
/// 为了匹配 __通配符 查找相似的DM
/// </summary>
/// <param name= "strID "> </param>
/// <returns> </returns>
public static string GetPidFromString(string strID)
{
switch (strID.Length)
{
case 1:
return "_ ";
case 2:
return "__ ";
case 4:
return "___ ";
case 7:
return "____ ";
default:
return "_ ";
}
}

private static void InitTree(TreeNodeCollection Nds, string ID, ref DataSet ds)
{
DataView dv = new DataView();
TreeNode tmpNd;
string strID = " ";
dv.Table = ds.Tables[0];
strID = ID + GetPidFromString(ID);
dv.RowFilter = "dm like ' " + strID;
dv.Sort = "dm ";

foreach (DataRowView drv in dv)
{
tmpNd = new TreeNode();

tmpNd.Text = drv[ "dm "].ToString();
//....此处自己添加
//找到父节点特征
Nds.Add(tmpNd);

InitTree(tmpNd.ChildNodes, strId, ref ds);


}