【问题标题】:How to populate nodes of a TreeView? (C# winforms)如何填充 TreeView 的节点? (C#winforms)
【发布时间】:2010-11-22 05:14:25
【问题描述】:

我有一个 SQL Server Compact Edition 数据库文件,我想将其上的所有表作为节点显示到我的 Windows 应用程序中的 TreeView 控件中。

不幸的是,我不知道该怎么做。

这就是我现在拥有的:

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

【问题讨论】:

    标签: c# winapp


    【解决方案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));
          }
       }
    }
    

    您可以对节点创建更加感兴趣。看看各种构造函数,看看你想要什么。

    【讨论】:

    • 抱歉 TreeNode。我已经有一段时间没有使用它了! ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多