2012-01-27 7 views
-2

У меня возникли проблемы с добавлением элементов в коллекцию 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

Какая строка выдает исключение? Какой объект является «нулевым»? – svick

+1

Где наблюдаемая коллекция? –

+1

Я предполагаю, что TheUsers - ObservableCollection. Можете ли вы опубликовать части справки класса UserListViewModel TheUsers? – saus

ответ

1

Наблюдаемая коллекция TheUsers должна быть создана в вашем конструкторе класса вида. Если нет, то null - вот почему вы не можете добавлять к нему элементы. Вы не можете добавлять элементы к чему-то, что не существует. :)

+0

how embarassing = (. – rreeves

Смежные вопросы