2010-11-22 99 views
0

我有一個SQL Server精簡版數據庫文件,並且我想將它上的所有表顯示爲我的Windows應用程序中TreeView控件的節點。如何填充TreeView的節點? (C#winforms)

不幸的是,我不知道該怎麼辦。

這是我現在有:

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

回答

3

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

你可以得到節點創建票友。看看各種構造函數,看看你想要什麼。

+0

什麼是「TreeViewNode」? – yonan2236 2010-11-22 05:26:48

+0

對不起TreeNode。我用過它已經有一段時間了! ;) – WOPR 2010-11-22 05:27:25