我想使用button_click事件
使用数据库中的递归数据填充分层树结构我在表格中有以下记录。
bomItem partId
500101 100200
500101 500100
500101 100280
500100 320255
I want to show Tree as shown below
500101
+----100200
+----500100
+----300255
+----100280
//注意:bomItem
是父级,partId
是子级字段
我遇到的问题:
导航到下一条记录时,保留了前一条记录的树形结构,我希望在导航到另一条记录时清除树形视图。
要显示完整的树结构,我必须填充孩子的第一个
这是我使用的代码
//按钮点击事件
private void button4_Click(object sender, EventArgs e)
{
_command = new SqlCommand("SELECT * FROM [BOMDETAIL] where bomItem= '" + int.Parse(bomItemTextBox.Text) + "' and bomRev= '" + bomRevComboBox.Text + "'", _connection);
_adapter = new SqlDataAdapter(_command);
_adapter.Fill(objdataset);
_connection.Close();
try
{
TreeNode node = new TreeNode(bomItemTextBox.Text);
filltree(node, int.Parse(bomItemTextBox.Text), objdataset);
treeView2.Nodes.Add(node);
//dataGridView1.DataSource = objdataset.Tables[0];
}
catch (Exception c)
{
MessageBox.Show(c.ToString());
}
}
//文件树()
private void filltree(TreeNode parentnode, int parentid, DataSet dataset)
{
// Fill Tree Function to poplulate treeeview control
String str = null;
try
{
foreach (DataRow row in dataset.Tables[0].Rows)
{
if (Convert.ToInt32(row["bomItem"]) == parentid)
{
str = row["partId"].ToString();
TreeNode new_parent_node = parentnode.Nodes.Add(str);
int parent_id = Convert.ToInt32(row["partId"]);
filltree(new_parent_node, parent_id, dataset);
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}