MenuItem root = new MenuItem() { Title = baza.PobierzDaneSql("SELECT [level_1] FROM [level1]") };
MenuItem childItem = new MenuItem() { Title = "to nie potrzebne" };
string temp_level2 = "";
string temp_level3 = "";
while (dr.Read())
{
if (((dr["level_2"].ToString() == temp_level2)) || (dr["level_2"].ToString()==null))
{
temp_level2 = dr["level_2"].ToString();
}else
{
root.Items.Add(new MenuItem() { Title = dr["level_2"].ToString() });
temp_level2 = dr["level_2"].ToString();
}
if ((dr["level_3"].ToString() == temp_level3))
{
temp_level3 = dr["level_3"].ToString();
}
else
{
childItem.Items.Add(new MenuItem() { Title = dr["level_3"].ToString() });
temp_level3 = dr["level_3"].ToString();
}
}
root.Items.Add(childItem);
trvMenu.Items.Add(root);
Problem jest taki że tworzę menu i wszystko jest ok do trzeciego poziomu. A minowicie root.Items.Add(childItem)
dodaje do węzła root
dodaje węzły childItem
i węzły podrzędne czyli level_3
. Nie potrzebnie dodajwany jest MenuItem childItem = new MenuItem() { Title = "to nie potrzebne" };
. Wiem że tu tkwi błąd ale nie wiem jak go ominąć? Skreśłić tego nie mogę z wiadomego powodu.
Pytanie drugie jest takie: węzły trzeciego poziomu dodaje tylko do ostatniego węzła z drugiego. Jeśli bym chciał to rozdzielić na poszczególne węzły z poziomu 2 to muszę nadawać im osobne nazwy?