Как управлять объектами, созданными / отредактированными / удаленными с помощью DataGrid

У меня есть 3 класса:

public class Category  
{
    public string Name {get;set;}
    public Category Parent {get;set;}
    public List<Category> Children {get;set;}
    public bool IsMainCategory {get;set;}
}

public class Item
{
    public string Description {get;set;}
    public Category MainCategory {get;set;}
    public List<CategoryValue> Values {get;set;}
}

public class CategoryValue
{
    public Category Category {get;set;}
    public Item Item {get;set;}
    public double Value {get;set;}
}

Я хочу создать DataGrid таким образом, что,

  1. Заголовки его столбцов будут именами всех дочерних категорий главной категории, которая имеет истинное значение для IsMainCategory за исключением первого столбца, который будет иметь "Item Description" в качестве заголовка.
  2. Его строки будут соответствовать Item объекты и каждый из них Itemу них должны быть свои MainCategory установить вышеупомянутую основную категорию.
  3. Каждая ячейка строки (кроме первой) должна связываться с Value свойство соответствующего CategoryValue объект.

Я написал код для выполнения 1, но не могу понять, как реализовать два других требования. Кто-нибудь может мне помочь?

1 ответ

Решение

Один простой метод - преобразовать данные в ваших POCO в таблицу данных, которую вы затем привязываете к DataGrid.

DataTable используется только для отображения. Вся ваша логика работает против POCO

Другие вопросы по тегам