C# Windows Form Показать данные в DataGrid

171
24 ноября 2018, 18:30

Есть List обьектов. Как показать их в DataGrid, изменить и вернуть обратно в List? (ItemsSource в MVVM WPF делает ето все)

Answer 1

Компонент DataGrid позволяет отображать и редактировать список (List).

Для того, чтобы привязать список к DataGrid, используют метод SetDataBinding.

dataGrid.SetDataBinding(GetListOfObjects(), "");

Так как редактировать в DataGrid можно только ссылочные типы (структуры передаются "по значению", поэтому для записи изменений будет создана копия, которая уничтожается сразу после записи), то ничего специально не нужно делать чтобы вернуть обратно список измененных объектов. Надо просто сохранить ссылку на список, который передали в SetDataBinding, и все измененные объекты будут там.

var listOfObjects = GetListOfObjects();
dataGrid.SetDataBinding(listOfObjects, "");

Интересно почитать
Differences Between the Windows Forms DataGridView and DataGrid Controls

READ ALSO
Взять два цвета у объекта

Взять два цвета у объекта

Если у объекта есть два цвета (красный и синий), первым идет красный, к нему я получаю доступ PlayerCubeGetComponent()

146
PHP скорость обработки массива данных из MySQL

PHP скорость обработки массива данных из MySQL

Пишу веб-часть для своего приложенияВ ней получаю данные из MSSQL и MySQL баз данных, после чего формирую json строку, которую считывает десктопное...

202
Помогите пожалуйста с кодировкой

Помогите пожалуйста с кодировкой

Отправляю аякс запрос на сервер

233