2011-11-03 74 views
0

所以我得到这个树视图,我想从我的数据库显示一些人的孩子一些数字树视图 - MySQL的乘号下1树

,所以这是我的客户

/Clientnr /名称的数据库/姓

和第二数据库中包含他们的发票编号和数据

/Invoicnr/Clientnr /状态/

现在是有可能使我的树状图像

名称Surename
| __ invoic number
| _ _
第二张发票号码
| _ _一个又一个......直到我让他们都

我只是无法获得发票号下1名:) 他为每个发票parrent存在的那个人 是有可能把它们都放在一个,而不是使乘同一名称的

这是我的代码现在

try 
     { 


      MySqlConnection conn = new MySqlConnection("SERVER=localhost;" + 
         "DATABASE=factoram;" + 
         "UID=root;" + 
         "PASSWORD=root;"); 

      new MySqlDataAdapter("SELECT klienten.Klientnr,\n" + 
    "klienten.Voornaam,\n" + 
    "klienten.Naam,\n" + 
    "rekening.Rekeningnr FROM\n" + 
    "rekening\n" + 
    "INNER JOIN klienten ON rekening.Klientnr = klienten.Klientnr ORDER BY klienten.naam asc ;", conn).Fill(dt); 


      foreach (DataRow r in dt.Rows) 
      { 
       int b = dt.Rows.IndexOf(r); 

       tvfacturen.Nodes.Add(r[1].ToString() + " " + r[2].ToString()); 

       tvfacturen.Nodes[b].Nodes.Add(r[3].ToString()); 


      } 

     } 
     catch (Exception b) 
     { 
      MessageBox.Show(b.ToString()); 



     } 

回答

0

Nodes.Add返回节点。只需调用创建节点的属性Nodes的Nodes.add即可。

var oNode = this.treeView.Nodes.add("OhYeah"); 
var oChild = oNode.Nodes.add("child"); 

对不起,我误会,做到这一点,而不是你的foreach

var oGrouped = dt.Rows.Cast<DataRow>().GroupBy(r => r[1].ToString() + " " + r[2].ToString()); 
foreach (var oClient in oGrouped) 
{ 
    var oClientNode = this.TreeView.Nodes.Add(oClient.Key); 
    foreach (var oInvoice in oClient) 
    { 
     oClientNode.Nodes.Add(oInvoce[3].ToString()); 
    } 
} 
+0

对不起不要真的看到什么意思雅变化 –

+0

的foreach(在dt.Rows的DataRow R) { INT B = dt.Rows.IndexOf(R); tvfacturen.Nodes.Add(r [1] .ToString()+“”+ r [2] .ToString()); tvfacturen.Nodes [b] .Nodes.Add(r [3] .ToString()); } 通过 的foreach(在dt.Rows的DataRow R) { 变种oNode = tvfacturen.Nodes.Add(R [1]的ToString()+ “” + R [2]的ToString( )); oNode.Nodes.Add(r [3] .ToString()); } – Toto

+0

客户仍然显示乘法时间:)我想要从该客户的所有发票号码在同一个名称:) –