2010-11-22 3 views
0

J'ai un fichier de base de données SQL Server Compact Edition et je veux afficher toutes les tables en tant que nœuds dans un contrôle TreeView dans mon application Windows.Comment remplir les nœuds d'un TreeView? (Winforms C#)

Malheureusement, je ne sais pas comment.

C'est ce que j'ai maintenant:

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

Répondre

3

quelque chose comme

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

vous pouvez obtenir colombophile avec la création de noeud. Jetez un oeil sur les différents constructeurs pour voir ce que vous voulez.

+0

qu'est ce que 'TreeViewNode'? – yonan2236

+0

Désolé TreeNode. Ça fait un moment que je l'ai utilisé! ;) – WOPR

Questions connexes