如何填充 TreeView 的节点? (C# winforms)

发布于 2024-10-04 04:55:39 字数 838 浏览 1 评论 0原文

我有一个 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();
    }
}

I have a SQL Server Compact Edition Database file, and I want to display all the tables on it as nodes into a TreeView control in my windows application.

Unfortunately, I don't know how to.

This is what I have now:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小鸟爱天空丶 2024-10-11 04:55:39

像这样的事情

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

你可以通过节点创建变得更加有趣。查看各种构造函数,看看您想要什么。

something like

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

you can get fancier with the node creation. Have a look at the various constructors to see what you want.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文