0

我在尝试将 DataTable 转换为包含行和列的视图模型时收到“对象引用未设置为对象的实例”错误。

视图模型

public class ViewModel
{
        public List<ColumnViewModel> Columns { get; set; }
        public List<RowViewModel> Rows { get; set; }
}

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

    public class RowViewModel
    {
        public List<CellValueViewModel> Values { get; set; }
    }

    public class CellValueViewModel
    {
        public string Value { get; set; }
    }

模型

    ViewModel myViewModel = new ViewModel();
    CellValueViewModel myCellValueViewModel = new CellValueViewModel();
    RowViewModel myRowViewModel = new RowViewModel();
    foreach (DataColumn column in GridData.Columns)
    {
        ColumnViewModel myColumnViewModel = new ColumnViewModel();
        myColumnViewModel.Name = column.ColumnName;
        myViewModel.Columns.Add(myColumnViewModel);
    }

错误发生在myViewModel.Columns.Add(myColumnViewModel); 我不明白为什么会发生这种情况,因为我已经实例化了我在这里使用的每个对象。

4

1 回答 1

3

好吧,您从未为该Columns属性分配值。在尝试将值添加到此列表之前,请确保您已实例化它:

ViewModel myViewModel = new ViewModel();
myViewModel.Columns = new List<ColumnViewModel>();
于 2013-03-31T16:09:13.083 回答