using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.Common;
using System.Data.OleDb;public partial class Usercenter_UserSky : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
            BindTreeView();
        Page.Title = "会员空间";
      
    }    public void GetNodeUserList(string iParentID,TreeNode MyNode)
        //取指定层次的会员列表
    {
     // ArrayList MyList=new ArrayList();
        string sSQL = "select * from userList where ParentName=\'"+iParentID+"\'";
        ClassDBPublic mycls = new ClassDBPublic();
        DataSet ds = mycls.getdataSet(sSQL);
        int iLevel = ds.Tables[0].Rows.Count;
        foreach (DataRow dRow in ds.Tables[0].Rows)
        {
            if (FindNodeValue(dRow["Admin"].ToString())) continue;
            TreeNode TmpNode = new TreeNode();
            TmpNode.Text = dRow["Admin"].ToString();
            TmpNode.Value = dRow["Admin"].ToString();
            //查找节点是否存在,防止重复添加
            if ((this.tvMemberSky.FindNode(TmpNode.DataPath))==null)
            MyNode.ChildNodes.Add(TmpNode);        }
        //是否每层有两个成员,如果不足则显示新增会员链结
//注意就是下面语句,如果去掉编译正常也可打开页面,如果不去掉,编译正常,但半天打不开页面
        if (iLevel < 2)
        {
            TreeNode AddNode = new TreeNode();
            AddNode.Text = "新增会员";
            AddNode.NavigateUrl = "AddNewUser.asp?ParentID="+MyNode.Value;
            MyNode.ChildNodes.Add(AddNode);
        }
////////////----------------
    }
    public void BindTreeView()
    {
        TreeNode MyNode;
        MyNode = new TreeNode();
        MyNode.Text = "会员图表";
        GetNodeUserList("Admin", MyNode);
        this.tvMemberSky.Nodes.Add(MyNode);
    }    public bool FindNodeValue(string strValue)
    {
        int i;
        bool tmpResult = false;
        int iNodeCount = tvMemberSky.Nodes.Count - 1;
        for (i = 0; i<=iNodeCount; i++)
        {
            if (this.tvMemberSky.Nodes[i].Value == strValue)
            {
                tmpResult= true;
                break;
            }        }
        return tmpResult;
    }
    protected void tvMemberSky_TreeNodePopulate(object sender, TreeNodeEventArgs e)
    {
       // GetNodeUserList(int(e.Node.Value), e.Node);
    }
    protected void tvMemberSky_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
    {
       if (!Page.IsPostBack)
        GetNodeUserList(e.Node.Value, e.Node);
    }
    protected void tvMemberSky_SelectedNodeChanged(object sender, EventArgs e)
    {    }
}