Я нашел много потоков с этой темой, но все о ситуации, когда заполнение дерева и связь с базой данных находятся в одном классе ... Я хотел отделить их, и у меня есть один класс с моей формой где я хочу заполнить treeview данными, которые я получаю из другого класса. Тот другой класс «работа» только для связи с базой данных и передавать данные, где это необходимо ... Вот мой класс с формой:Populate treeview из базы данных (два класса)
public Form1()
{
InitializeComponent();
}
// on Form load
private void Form1_Load(object sender, EventArgs e)
{
List<String> lista = DB.DatabaseBroker.GetSports();
PopulateTreeView(lista);
}
private void PopulateTreeView(List<string> lista)
{
treeViewSports.Nodes.Clear();
foreach (string s in lista)
{
treeViewSports.Nodes.Add(s);
}
}
... а вот класс, где я получаю данные:
static SqlConnection conn = new SqlConnection("Data Source=MLAD3N-PC\\SQLEXPRESS;Initial Catalog=DBSports;Integrated Security=True");
public static List<String> GetSports()
{
DataTable dataTable = new DataTable();
List<String> sports = new List<String>();
SqlDataAdapter SDA = new SqlDataAdapter("SELECT * FROM TableSport", conn);
SDA.Fill(dataTable);
if (dataTable.Rows.Count > 0)
{
foreach(DataRow drow in dataTable.Rows)
{
sports.Add(drow[1].ToString());
}
}
return sports;
}
с этим я получить TreeView со спортом, который выглядит следующим образом:
дело в том, я хочу, чтобы добавить лиги в этот TreeView так под футболом у меня есть дочерние узлы с лигами футбола. В моей базе данных таблица лиг содержит внешние ключи от спортивного стола, поэтому, если мой спортивный футбол имеет sportID = 1, все лиги в LeagueTable, соответствующие футболу, имеют внешний ключ sportID = 1.
Мой вопрос: как я могу получить лиги из базы данных и разместить их под футбольным узлом?
Кто-нибудь? : -/не может решить эту проблему – Mlad3n