Как программно редактировать значение ячейки в datagridview в виртуальном режиме? - PullRequest
3 голосов
/ 11 октября 2009

У меня есть DataGridView в виртуальном режиме. Я только реализовал обработчик событий CellValueNeeded, как описано в http://msdn.microsoft.com/en-us/library/15a31akc.aspx.

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

Я хотел бы программно редактировать значение ячейки DataGridView.

Я попробовал это, используя следующий код:

DataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;
DataGridView1.BeginEdit(false);
DataGridView1.Rows[0].Cells[0].Value = "testing new value";
//just using a random parameter here, not sure it is needed when editing programmatically
DataGridView1.CommitEdit(DataGridViewDataErrorContexts.LeaveControl);
DataGridView1.Refresh();

но безуспешно: (

любая помощь будет оценена

1 Ответ

7 голосов
/ 12 октября 2009

Когда вы используете виртуальный режим, вы предоставляете свою собственную логику для связи DataGridView с базовым источником данных. Таким образом, чтобы отредактировать значение ячейки, вы должны изменить значение в базовом источнике данных и вызвать Refresh, чтобы обновить отображаемое значение (это вызовет событие CellValueNeeded для всех отображаемых ячеек)

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