當(dāng)前選中項(xiàng):TreeView.SelectedNode
增加頂級(jí)節(jié)點(diǎn):TreeView.Nodes.Add("Key", "Text")
增加同級(jí)節(jié)點(diǎn):TreeView.SelectedNode.Parent.Nodes.Add("Key", "Text")
增加子節(jié)點(diǎn):TreeView.SelectedNode.Nodes.Add("Key", "Text")
全部展開(kāi):TreeView.ExpandAll()
全部收攏:TreeView.CollapseAll()
重新設(shè)置TreeView
數(shù)據(jù)庫(kù)表結(jié)構(gòu)為: ID 類型名稱 父級(jí)ID
private void loadTreeView()
{
this.貨品類別TableAdapter1.Fill(superCargoDataSet1.貨品類別);
DataTable table = superCargoDataSet1.貨品類別;
DataRow[] row = table.Select("父級(jí)ID=0");
foreach (DataRow r in row)
{
TreeNode node = 貨品類別TreeView.Nodes.Add(r["ID"].ToString(), r["類型名稱"].ToString());
recursionShow(node, r["ID"].ToString());
}
}
private void recursionShow(TreeNode nodes, string id)
{
DataTable table = superCargoDataSet1.貨品類別;
DataRow[] row = table.Select("父級(jí)ID=" + id);
if (row != null)
{
foreach (DataRow r in row)
{
TreeNode node = nodes.Nodes.Add(r["ID"].ToString(), r["類型名稱"].ToString());
recursionShow(node, r["ID"].ToString());
}
}
}
刪除選中節(jié)點(diǎn)和其子結(jié)點(diǎn),同時(shí)刪除數(shù)據(jù)庫(kù)中相應(yīng)記錄
數(shù)據(jù)庫(kù)表結(jié)構(gòu)為: ID 類型名稱 父級(jí)ID
private void 刪除ToolStripButton_Click(object sender, EventArgs e)
{
if (貨品類別TreeView.SelectedNode != null)
{
DataRow[] rowChildren = superCargoDataSet1.貨品類別.Select("ID=" + 貨品類別TreeView.SelectedNode.Name.ToString());
if (rowChildren != null)
{
foreach (DataRow row in rowChildren)
{
delete節(jié)點(diǎn)(row["ID"].ToString());
row.Delete();
}
}
貨品類別TreeView.SelectedNode.Remove();
}
}
private void delete節(jié)點(diǎn)(string id)
{
DataRow[] rowChildren = superCargoDataSet1.貨品類別.Select("父級(jí)ID=" + id);
if (rowChildren != null)
{
foreach (DataRow row in rowChildren)
{
delete節(jié)點(diǎn)(row["ID"].ToString());
row.Delete();
}
}
}
TreeView右鍵選中
private void treeView左側(cè)_MouseDown( object sender , MouseEventArgs e )
{
if( e.Button == MouseButtons.Right )
{
TreeNode node = treeView左側(cè).GetNodeAt (e.X , e.Y);
if( node != null )//右鍵未選中節(jié)點(diǎn),不改變當(dāng)前選中的節(jié)點(diǎn)。VS2005如此。
{
this.treeView左側(cè).SelectedNode = node;
}
}
}