给你们发个 自己看看 TreeView1.Attributes["OnClick"] = @"javascript: window.setTimeout('__doPostBack(\'TreeView1\',\'\')', 0, 'JavaScript')";
    
  String strodbc = "Data Source=YJ;User Id=yj;Password=yj;Unicode=True;";
  OracleConnection oledbc = new OracleConnection(strodbc);
  String sql = "select ID,NAME from AUTH_DEPARTMENT ";
  //String sql = "select ID,NAME from AUTH_DEPARTMENT where PARENT_ID != null ";  TreeNode tmpTn = new TreeNode();
  tmpTn.Checked = true;
  TreeView1.Nodes.Add(new TreeNode("系统用户", " "));
  TreeNode tn;     try
  {
  oledbc.Open();
  OracleCommand odbccmd = new OracleCommand();
  odbccmd.Connection = oledbc;
  odbccmd.CommandText = sql;
  OracleDataAdapter dataadapter = new OracleDataAdapter();
  dataadapter.SelectCommand = odbccmd;
  DataSet sourceDS = new DataSet();
  dataadapter.Fill(sourceDS);  DataTable sourceTable = sourceDS.Tables[0];
  int i = 0;
  foreach (DataRow dr in sourceTable.Rows)
  {
  TreeView1.Checkboxes = true;
  TreeView1.Nodes[0].ChildNodes.Add(new TreeNode(dr["NAME"].ToString().Trim(),dr["ID"].ToString().Trim()));
  //获取子节点
  String sqltwo = string.Format(@"select ID,NAME from AUTH_ACCOUNT where DEPT_id = '{0}'", dr["ID"].ToString().Trim());
  OracleCommand odbc2 = new OracleCommand();
  odbc2.Connection = oledbc;
  odbc2.CommandText = sqltwo;
  OracleDataAdapter adaptertwo = new OracleDataAdapter();
  adaptertwo.SelectCommand = odbc2;
  DataSet sourceDStwo = new DataSet();
  adaptertwo.Fill(sourceDStwo);  DataTable sourceTabletwo = sourceDStwo.Tables[0];  foreach (DataRow drtwo in sourceTabletwo.Rows)
  {
  TreeView1.Nodes[0].ChildNodes[i].ChildNodes.Add(new TreeNode(drtwo["NAME"].ToString().Trim(),dr["ID"].ToString().Trim()));
  }
  i++;
  }
  oledbc.Close();
  }
  catch (OracleException ex)
  {
  throw ex;
  }public void CheckedTree()    {        DbParameters param = new DbParameters();        param.AddInputParam("@QUP_ID", QUPID);        DataSet ds = SqlComd.CreateDataSet("SP_PATE_INFO_SELECT", param,"temp");        for (int i = 0; i < ds.Tables["temp"].Rows.Count; i++)        {            for (int j = 0; j < TreeView1.Nodes.Count; j++)            {                if (TreeView1.Nodes[j].Value == ds.Tables["temp"].Rows[i]["QPI_ID"].ToString())                {                    TreeView1.Nodes[j].Checked = true;                }                else                {                    Checked(TreeView1.Nodes[j], ds.Tables["temp"].Rows[i]["QPI_ID"].ToString());                }             }        }    }    public bool Checked(TreeNode tn, string temp)    {        bool aaa = false;        for (int k = 0; k < tn.ChildNodes.Count; k++)        {            if (temp == tn.ChildNodes[k].Value)            {                tn.ChildNodes[k].Checked = true;                aaa = true;            }            else            {                aaa = Checked(tn.ChildNodes[k], temp);                      }        }        return aaa;    }