2014-10-28 47 views
0

我正在開發一個ASP.NET網站,並有一個樹狀圖來顯示存儲在MYSQL數據庫中的國家/地區。如何使用組格式生成樹視圖? (表示起始字的字母)

我正在使用此代碼將數據綁定到treeview。

dt_Record是一個數據表。

private void get_Countries() 
    { 
     try 
     { 
      dt_Record.Clear(); 
      dt_Record = objCommonMethods_Bll.Get_Countries(); 
      if (dt_Record.Rows.Count != 0) 
      { 
       foreach (DataRow dr in dt_Record.Rows) 
       { 
        TreeNode node = new TreeNode(); 
        node.Text = dr["name"].ToString(); 
        node.Value = dr["Countries_id"].ToString(); 
        tvCountries.Nodes.Add(node); 
       } 
      } 
     } 
     catch (Exception) 
     { 

      throw; 
     } 
    } 

所以這顯示國家這樣

enter image description here

但我要顯示這樣的國家。用一組字母輕鬆識別無法點擊的首字母。

enter image description here

我能做到上面的格式?那麼該怎麼做?

非常感謝。

回答

0

我已經完成了這個使用LINQ查詢,但在我的情況下,我有一個模型,而不是數據庫的用戶數據結構。 但是你可以在你的場景中使用數據庫。 這裏是我的代碼:

1)我創建了一個類來使用它作爲表。

public class Country 
    { 
     public string Name { get; set; } 
    } 

2)我與數據填充,&你的情況,您從數據庫中獲取數據的列表。

List<Country> countriesList = new List<Country>() 
             { 
              new Country{Name="Algeria"}, 
              new Country{Name="Angola"}, 
              new Country{Name="Benin"}, 
              new Country{Name="Botswana"}, 
              new Country{Name="Burkina Faso"}, 
              new Country{Name="Burundi"}, 
              new Country{Name="Cameroon"}, 
              new Country{Name="Cape Verde"}, 
             }; 

3),最後寫的LINQ查詢來獲取分組數據::

var temp = (from con in countriesList 
         group con by con.Name[0] into gr 
         select new 
         { 
          Key = gr.Key, 
          Value = gr.ToList() 
         }).ToList(); 
+0

非常感謝你。我試過你的代碼,但我仍然無法通過這個.. – Sylar 2014-10-30 05:19:05

相關問題