Есть WPF приложение, в классе DAL которого реализуется чтение данных из БД и запись полученной таблицы в DataSet, в класс Storage. Таблицы точно попадают в Storage.DataSet. И есть класс - вью модель MainVM который отвечает за отображение данных в DataGrid. Собственно вопрос - как заполнить этот DataGrid таблицами из Storage.DataSet наиболее правильно c точки зрения MVVM ? Сейчас я пробую решить это так :
Вот коллекция которая стоит как ItemsSource для грида :
FundCollection = new ObservableCollection<Fund>();
где класс Fund :
public class Fund
{
public string Type { get; set; }
public string Date { get; set; }
public string CountPaper { get; set; }
}
Теперь, в конструктор класса я пишу цикл, для добавления всех строк из DataSet
public class MainVM
{
public MainVM()
{
for (int i = 0; i < set.Tables["Fund"].Rows.Count; i++)
{
FundCollection.Add(new Fund()
{
Type = set.Tables["Fund"].Rows[i][2].ToString(),
Date = set.Tables["Fund"].Rows[i][1].ToString(),
CountPaper = set.Tables["Fund"].Rows[i][3].ToString()
});
}
}
}
И тут есть 2 проблемы : во первых - в грид попадает только 1 строка даже если их 100+. и во вторых - насколько я знаю записывать циклы в конструкторы класса очень плохая практика. Посоветуйте, как исправить этот ГКод ?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей