Как заполнить узлы TreeView? (C# winforms)
У меня есть файл базы данных SQL Server Compact Edition, и я хочу отобразить все таблицы в нем в виде узлов в элементе управления TreeView в моем приложении Windows.
К сожалению, я не знаю как.
Вот что у меня сейчас:
private void PopulateTreeView()
{
SqlCeCommand cmd = new SqlCeCommand();
try
{
using (SqlCeConnection conn = new SqlCeConnection("Data Source=" + connString))
{
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES";
conn.Open();
cmd.Connection = conn;
cmd.ExecuteNonQuery();
// Don't know what's next...
}
}
catch (Exception x)
{
MessageBox.Show(x.GetBaseException().ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
cmd.Dispose();
}
}
1 ответ
Решение
Что -то вроде
var tv = new TreeView();
using(var conn = new SqlCeConnection("Data Source=" + connString))
using(var cmd = new SqlCeCommand(conn,"SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES"))
{
conn.Open();
if(conn.State != ConnectionStatus.Open) return;
cmd.CommandType=CommandType.Text;
using(var rdr = cmd.ExecuteReader())
{
while(rdr.Read())
{
tv.Nodes.Add(new TreeNode(rdr.GetString(0));
}
}
}
Вы можете стать более привлекательным с созданием узла. Посмотрите на различные конструкторы, чтобы увидеть, что вы хотите.