Как заполнить узлы TreeView?(C # winforms) - PullRequest
0 голосов
/ 22 ноября 2010

У меня есть файл базы данных 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 Ответ

3 голосов
/ 22 ноября 2010

что-то вроде

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));
      }
   }
}

, вы можете стать более привлекательным с созданием узла.Посмотрите на различные конструкторы, чтобы увидеть, что вы хотите.

...