DataGridView запоминает ссылки? - PullRequest
       2

DataGridView запоминает ссылки?

0 голосов
/ 22 февраля 2020

Я использую System. Windows .Forms. DataGridView control без привязки данных.

Следующий код работает и ОК. Я создаю список, добавляю элемент и назначаю его DGV. Текущая ячейка не будет нулевой - идеально!

List<string> list = new List<string>();  // create an empty list
list.Add("test");                        // adding a new item to the list
dataGridView.DataSource = list;          // assign list as datasource
var cell = dataGridView.CurrentCell;     // cell is not null -> that's expected and OK

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

List<string> list = new List<string>();  // create an empty list
dataGridView.DataSource = list;          // assign list as datasource BEFORE ADDING element
dataGridView.DataSource = null;          // assign null to reset

list.Add("test");                        // adding a new item to the list
dataGridView.DataSource = list;          // assign list again as datasource
var cell = dataGridView.CurrentCell;     // cell is null, but it SHOULD NOT BE

Почему DGV не устанавливает CurrentCell? Это как-то запоминает список и что он был пуст?

Спасибо за любой ответ.

-jaz

1 Ответ

0 голосов
/ 22 февраля 2020

Я мог видеть, что источник данных сохраняет ссылку. Так что если вы установите нулевой источник данных, список также будет нулевым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...