C# 将子节点添加到treeView
我目前正在尝试编写编目程序。现在,我的目标是让“添加”按钮按我的意愿工作。我的代码:C# 将子节点添加到treeView,c#,treeview,sql-server-ce,C#,Treeview,Sql Server Ce,我目前正在尝试编写编目程序。现在,我的目标是让“添加”按钮按我的意愿工作。我的代码: private void populatingTreeView() { SqlCeCommand query = new SqlCeCommand("SELECT * FROM cars ORDER BY model", con); SqlCeDataReader dr = query.ExecuteReader(); while (dr.Read()) { TreeNo
private void populatingTreeView()
{
SqlCeCommand query = new SqlCeCommand("SELECT * FROM cars ORDER BY model", con);
SqlCeDataReader dr = query.ExecuteReader();
while (dr.Read())
{
TreeNode[] brandNode = treeView1.Nodes.Find(dr["brand"].ToString(), false);
if (!brandNode.Any())
{
brandNode = new TreeNode[]
{
treeView1.Nodes.Add(dr["brand"].ToString(),dr["brand"].ToString())
};
platformNode[0].Nodes.Add(dr["brand"].ToString(), dr["model"].ToString());
}
else
{
platformNode[0].Nodes.Add(dr["brand"].ToString(), dr["model"].ToString());
}
}
}
它起作用了。几乎。在乞讨时,我的树视图是这样的
然后,在按下“添加”按钮后,每个子节点都会复制自身,但被重新添加的节点除外(图中为E90)
我不知道怎么修改我的方法,我明白了。但重启程序后,一切都恢复正常
我的“添加”按钮方法
private void button1_Click(object sender, EventArgs e)
{
SqlCeCommand com = new SqlCeCommand("INSERT INTO cars(model,brand) VALUES (@model,@brand)", con);
com.Parameters.AddWithValue("@model", textBox1.Text);
com.Parameters.Add("@brand", comboBox3.Text);
try
{
int affectedRows = com.ExecuteNonQuery();
if (affectedRows == 0)
{
MessageBox.Show("Please, fill all the fields!");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
您需要在重新添加节点之前清除树,这是您真正要做的:
treeView1.Nodes.Clear();