Флажок DatagridView установлен? - PullRequest
1 голос
/ 23 марта 2009

У меня есть флажок в форме окна просмотра данных и есть обработчик события cell_Click при нажатии на ячейку я проверяю столбец datagridview на наличие флажка, он показывает true, если ячейка тоже выбрана (то есть флажок снят, а выбрана только ячейка представления сетки данных) и флажок не установлен. столбец gettype и обнаружил тип, который показывает DatagridViewCheckBox, но неверно проверенные значения. ???

Ответы [ 3 ]

9 голосов
/ 23 марта 2009

Если я правильно вас понимаю, вы говорите, что значение флажка не совпадает с базовыми данными?

Это может быть связано с тем, что данные были обновлены и являются «грязными», например он еще не был передан источнику данных. Если вы добавите обработчик событий следующим образом:

private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
   if (dataGridView1.CurrentCell is System.Windows.Forms.DataGridViewCheckBoxCell)
   {
      dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
   }
}

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

1 голос
/ 24 марта 2009

Я нашел ответ на свой вопрос. По этой ссылке я получил решение. Также оба ответа от Клайда и Яна были также частью этого Спасибо. Вот ссылка. http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.currentcelldirtystatechanged.aspx

0 голосов
/ 23 марта 2009

Несколько вещей здесь:

  • событие щелчка ячейки просто означает, что пользователь щелкнул кнопкой мыши в представлении таблицы данных, вероятно, вам нужен CellValueChanged
  • это событие даст вам координаты ячейки, которая изменилась. Вы должны проверить, находится ли он в вашем столбце флажка, затем получить ссылку на ячейку, и вы можете проверить ячейку. Значение, чтобы увидеть, является ли оно истинным или ложным. Вы не найдете никаких значений в DataGridViewCheckBoxColumn - он будет на уровне ячеек, и вы всегда найдете значение, сохраненное в cell.Value, независимо от того, какой это тип столбца.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...