Упрощенная схема. Есть объект данных:
class Data
{
public int Digit { get; set; }
}
В коде создается список данных и привязывается к DataGridView.
List<Data> dataList = new List<Data>()
{
new Data(){Digit=1},
new Data(){Digit=2},
new Data(){Digit=1}
};
dataGrid.DataSource = dataList;
Работает правильно - в ячейках размещены объекты Data и свойство Digit привязано к свойству DataGridCell.Value. Редактирование данных в ячейке отражается на свойстве объекта Data.
Вопрос - такая схема работает для 1 колонки, а надо создать такую же схему для 10 колонок.
То есть привязать матрицу Data[10][10].
Какую структуру данных надо создать для решения задачи?
Пробовал такой вариант, но выводиться не значение а имя класса
dataGrid.Columns.Add( new DataGridViewTextBoxColumn()
{
HeaderText="0",
DataPropertyName="Digit"
} );
dataGrid.Columns.Add( new DataGridViewTextBoxColumn()
{
HeaderText = "1",
DataPropertyName = "Digit"
} );
dataGrid.Rows.Add( new object[] { new Data() { Digit = 11 }, new Data() { Digit = 21 } } );
dataGrid.Rows.Add( new object[] { new Data() { Digit = 31 }, new Data() { Digit = 33 } } );
DataTableвам может помочь. – aepot Dec 16 '20 at 09:53DataTable. В Winforms можно вытворять такое же самое с поправкой на пару лишних обработчиков событий для DGV, чтобы поправить ей поведение до вменяемого. Я бы может и ответил на ваш вопрос, но я его не понял. – aepot Dec 20 '20 at 22:03dataTable.Columns.Add(i.ToString(), typeof(int));Для понимания: мне надо почти тоже, но:dataTable.Columns.Add(i.ToString(), typeof(Data));В колонку привязывается не значение а СВОЙСТВО объекта.!!! – proa Dec 22 '20 at 13:48DataTable, потом выгрузите, когда надо будет сохранить. Не создавайте себе искусственные сложности. – aepot Dec 22 '20 at 16:29