//实现属性的多级目录
//
public string rootFT_Id = "00";
///
/// 添加根节点
private void AddRootCompany()
{
DataSet ds = new DataSet();
using (SqlConnection con = new SqlConnection("Data Source=localhost;uid=sa;pwd=;Database=TW_KJ"))
{
con.Open();
string strSQL = "select * from TB_Personnel_Type where FT_ID ="+ rootFT_Id;
using (SqlDataAdapter adapter = new SqlDataAdapter(strSQL, con))
{
adapter.Fill(ds);
}
TreeNode NewNode = new TreeNode();
NewNode.Text = ds.Tables[0].Rows[0]["FT_NAME"].ToString().Trim();
this.treeView1.Nodes.Add(NewNode);
InitTreeCompanyChildNode(NewNode,rootFT_Id);
}
}
public DataSet getMenuByLevel(string strFT_ID)
{
DataSet ds = new DataSet();
using (SqlConnection con = new SqlConnection("Data Source=localhost;uid=sa;pwd=;Database=TW_KJ"))
{
con.Open();
string strSQL;
if (strFT_ID == "00")
{
strSQL = "select * from TB_Personnel_Type where FT_ID like'" + "0_' and FT_UP_NO = 1";
}
else
{
strSQL = "select * from TB_Personnel_Type where FT_ID like'" + strFT_ID.Trim() + "__'";
}
using (SqlDataAdapter adapter = new SqlDataAdapter(strSQL, con))
{
adapter.Fill(ds);
}
}
return ds;
}
///
/// 递归获取子节点
private void InitTreeCompanyChildNode(TreeNode pNode, string fatherFT_ID)
{
DataSet ds = getMenuByLevel(fatherFT_ID);
DataView dataView = new DataView();
dataView = ds.Tables[0].DefaultView;
foreach (DataRowView drv in dataView)
{
string newFT_ID = drv["FT_ID"].ToString();
string name = drv["FT_NAME"].ToString();
TreeNode NewNode = new TreeNode();
//将子节点添加到父节点下面
NewNode.Text = name;
pNode.Nodes.Add(NewNode);
InitTreeCompanyChildNode(NewNode,newFT_ID);
}
}
private void Property_Load(object sender, EventArgs e)
{
AddRootCompany();
}