2010-09-09 36 views
0

我有一個用戶對象顯示嵌套類數據,其由一些數據和其它類別的數據:在一個ASP.Net數據網格

[DataContract] 
    public class User 
    {    
     [DataMember(Order = 0)] 
     public int UserId 
     { 
      get; set; 
     } 

    public UserCredentials UserCredentials 
    { 
     get; set; 
    } 

    [DataMember(Order = 1)] 
    public String SessionId { get; set; } 

    [DataMember(Order = 2)]   
    public Email Email 
    { 
     get; set; 
    } 

    [DataMember(Order = 3)] 
    public Password Password 
    { 
     get; set; 
    } 

    [DataMember(Order = 4)] 
    public UserDetails UserDetails 
    { 
     get; set; 
    }   

    [DataMember(Order = 5)] 
    public ReferralDetails ReferralDetails 
    { 
     get; set; 
    } 

如果我在數據網格ASP.NET顯示的這個列表如下:

List<Users> users = // get some list of users 
DataGridUsers.DataSource = users;    
DataGridUsers.DataBind(); 

這顯示sessionId和userId,但沒有其他數據字段,因爲它們不是基本類型。我的解決方案是什麼?

謝謝!

回答

0

這裏是一個解決方案,我想出了,但我不喜歡的事實,如果你改變了用戶模型,添加你必須再更新這組代碼的字段或W/E:

//...... 

      DataTable dt = new DataTable(); 

      // Add all columns needed here 
      dt.Columns.Add(new DataColumn("FirstName", typeof (String))); 
      // ....     

      foreach (var user in users) 
      { 
       DataRow dr = dt.NewRow(); 

       // Map all the data here 
       dr["FirstName"] = user.UserDetails.FirstName; 
       // ... 

       dt.Rows.Add(dr); 
      } 

      DataGridUsers.DataSource = dt; 
      DataGridUsers.DataBind(); 
+0

從那以後你能找到更好的東西嗎? – 2010-11-26 20:47:37

相關問題