В настоящее время у меня есть одно дерево, загружающее данные из одной таблицы базы данных SQL. Я получил его для загрузки результатов, но обнаружил, что он загружает один и тот же родительский узел для каждого дочернего объекта и перечисляет только один дочерний объект ниже. Как я могу сгруппировать их, чтобы иметь одного родителя для нескольких детей? Код у меня ниже. Я пытался использовать DISTINCT, но я не уверен, как я могу, и не мог заставить это работать, когда мне нужно вытащить несколько столбцов. Я ценю чью-либо помощь!
Например, мой стол имеет:
WorkOrderName ItemNumber
45123 101
45123 102
45123 103
И мое дерево в данный момент выглядит так:
+ 45123
- 101
+ 45123
- 102
+ 45123
- 103
Когда мне нужно, чтобы это выглядело так:
+ 45123
- 101
- 102
- 103
Вот код, который у меня есть:
private void Form1_Shown(object sender, EventArgs e)
{
treeView1.Nodes.Clear();
try
{
cn.Open();
}
catch(SqlException ex)
{
MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
Application.ExitThread();
}
SqlCommand cm = new SqlCommand("SELECT * FROM ProductTracking WHERE WorkOrderName IS NOT NULL ORDER BY WorkOrderName ASC", cn);
try
{
SqlDataReader dr = cm.ExecuteReader();
while (dr.Read())
{
TreeNode node = new TreeNode(dr["WorkOrderName"].ToString());
node.Nodes.Add(dr["ItemNumber"].ToString());
treeView1.Nodes.Add(node);
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}