2012-01-27 78 views
-2

我在將項添加到Observable集合時遇到問題,我在最近幾個小時嘗試了幾件事情,但仍未使其投入調試。問題添加到Observable集合

錯誤是未將對象引用設置爲對象的實例。

這裏是代碼。

public class IPermissionData 
{ 
    public UserListViewModel userListViewModel { get; set; } 

    public UserListViewModel GetAllUsers() 
    { 
     List<string> userList = new List<string>(); 

     string sqlUsers = "select distinct username from DIMS_roles"; 
     DataTable tempUserTable = new DataTable(); 
     tempUserTable = Enviroment._database.GetResults(sqlUsers); 

     for (int i = 0; i < tempUserTable.Rows.Count; i++) 
     { 
      if (tempUserTable.Rows[i]["username"].ToString() != null && tempUserTable.Rows[i]["username"].ToString() != "") 
       userList.Add(tempUserTable.Rows[i]["username"].ToString()); 
     } 

     foreach (string user in userList) 
     { 
      if (user != null) 
      { 

       List<string> userPerm = new List<string>(); 
       string tempPermSql = string.Format("select role from DIMS_roles where username='{0}'", user); 
       DataTable tempPermTable = new DataTable(); 
       tempPermTable = Enviroment._database.GetResults(tempPermSql); 

       for (int i = 0; i < tempPermTable.Rows.Count; i++) 
       { 
        if (tempPermTable.Rows[i]["role"].ToString() != null && tempPermTable.Rows[i]["role"].ToString() != "") 
         userList.Add(tempPermTable.Rows[i]["role"].ToString()); 
       } 
       //UserViewModel userViewModel = new UserViewModel() { Permission = userPerm, PermCount = userPerm.Count(), UserName = user }; 
       userListViewModel.TheUsers.Add(new UserViewModel() { Permission = userPerm, PermCount = userPerm.Count(), UserName = user }); 
      } 
     } 
     return userListViewModel; 
    } 

    public IPermissionData() 
    { 
     userListViewModel = new UserListViewModel(); 
    } 
} 
+3

哪一行引發異常?什麼對象是'null'? – svick 2012-01-27 01:03:50

+1

可觀察的集合在哪裏? – 2012-01-27 01:23:59

+1

我猜TheUsers是ObservableCollection - 你可以發佈UserListViewModel類的參考部分TheUsers? – saus 2012-01-27 04:16:36

回答

1

TheUsers observable集合應該在您的視圖模型類構造函數中實例化。如果不是,它是空的 - 這就是爲什麼你不能添加項目。您不能將項目添加到不存在的項目。 :)

+0

怎麼尷尬=(。謝謝 – rreeves 2012-01-27 07:08:52