namespace TreeView节点的无限添加
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public string AddName;
public string NodeName;
//运用递归的方法进行添加
private void Form1_Load(object sender, EventArgs e)
{
TreeNode treeView1 = trv.Nodes.Add("商品类别");//根结点
Tree(treeView1);
trv.ExpandAll();
}
//树型2级的添加
public void Tree(TreeNode tn)
{
string cmdText = "select * from TreeView";
DataSet ds = SqlHelp.ExecuteDataset(cmdText,CommandType.Text,null);
if (ds.Tables[0].Rows.Count != 0)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
if (dr.ItemArray[1].ToString() == "0")
{
TreeNode tn2 = new TreeNode();
tn2.Text = dr.ItemArray[0].ToString();
tn.Nodes.Add(tn2);
}
}
foreach (DataRow dr_2 in ds.Tables[0].Rows)
{
foreach (TreeNode tn3 in tn.Nodes)
{
if (dr_2.ItemArray[1].ToString() == tn3.Text)
{
TreeNode tn4 = new TreeNode();
tn4.Text = dr_2.ItemArray[0].ToString();
tn3.Nodes.Add(tn4);
Tree_2(tn4);
}
}
}
}
}
//[树型>3级递归]
public void Tree_2(TreeNode Tn_Name)
{
string cmdText = "select * from TreeView";
DataSet ds = SqlHelp.ExecuteDataset(cmdText, CommandType.Text, null);
if(ds.Tables[0].Rows.Count!=0)
{
foreach(DataRow dr in ds.Tables[0].Rows)
{
if(dr.ItemArray[1].ToString()==Tn_Name.Text)
{
TreeNode tn5 = new TreeNode();
tn5.Text = dr.ItemArray[0].ToString();
Tn_Name.Nodes.Add(tn5);
Tree_2(tn5);
}
}
}
}
private void trv_AfterSelect(object sender, TreeViewEventArgs e)
{
//MessageBox.Show(e.Node.Level.ToString()+e.Node.Text);
NodeName = e.Node.Text;
//string i =trv.Nodes.Count.ToString();
//MessageBox.Show(i);
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f2=new Form2 ();
// f2.Visible = false;
if(f2.ShowDialog()==DialogResult.OK)
{
//MessageBox.Show(f2.TreeName);
AddName=f2.TreeName;
string cmd = "insert into TreeView values('"+AddName+"','"+NodeName+"')";
int i=SqlHelp.ExecuteNonQuery(cmd, CommandType.Text, null);
if (i > 0)
{
MessageBox.Show("添加成功");
trv.Nodes.Clear();
Form1_Load(sender, e);
}
else MessageBox.Show("添加失败");
}
}
private void 展开所有节点ToolStripMenuItem_Click(object sender, EventArgs e)
{
trv.ExpandAll();
}
private void 折叠所有节点ToolStripMenuItem_Click(object sender, EventArgs e)
{
trv.CollapseAll();
}
}
}
form动态节点的添加
最新推荐文章于 2022-07-31 14:50:07 发布