this.tvDept.Nodes.Clear();
string strSchoolCode = PropSessionInfo.SchoolCode;
DataTable dt;
TreeNode[] treeNodes;
DepartmentInfoMgr dim = new DepartmentInfoMgr();
dt = dim.GetDataForTree(strSchoolCode);
treeNodes = new TreeNode[dt.Rows.Count + 1];
//初始化对象数组
for (int i = 0; i < treeNodes.Length; i++)
{
treeNodes[i] = new TreeNode();
}
//填充
dt.PrimaryKey = new DataColumn[] { dt.Columns["ID"] };
for (int i = 0; i < dt.Rows.Count; i++)
{
int nParentNodeID = Convert.ToInt32(dt.Rows[i]["ParentID"].ToString().Trim());
int nMyNodeID = Convert.ToInt32(dt.Rows[i]["IID"].ToString().Trim());
int pParentID = 0;
if (nParentNodeID != 0)
{
DataRow row = dt.Rows.Find((object)nParentNodeID);
pParentID = Convert.ToInt32(row["IID"].ToString());
}
treeNodes[nMyNodeID].Text = dt.Rows[i]["Name"].ToString();
treeNodes[nMyNodeID].Value = dt.Rows[i]["LayRec"].ToString();
if (nParentNodeID != 0)
{
treeNodes[pParentID].ChildNodes.Add(treeNodes[nMyNodeID]);
}
else
{
treeNodes[nMyNodeID].Selected = true;
this.tvDept.Nodes.Add(treeNodes[nMyNodeID]);
}
}
//释放
dt.Dispose();