Невозможно установить флажок в DataGridView с привязкой к данным - PullRequest
1 голос
/ 18 октября 2010

У меня есть DataGridView, который работает отлично. Я использую это только для показа данных.

Теперь мне нужна возможность выбирать строки по флажку и выполнять операции только для выбранных строк одним нажатием кнопки (эта кнопка находится вне сетки в той же форме). Для этого я следую этим шагам, чтобы добавить столбец флажка в datagridview.

При запуске приложения видно, что я не могу установить флажок ни щелчком мыши, ни клавиатурой. И по его внешности я могу понять, что он не в отключенном / только для чтения состоянии. Поэтому всякий раз, когда я пытаюсь нажать на флажок, он обычно меняет свои границы, как это делает включенный флажок. Но, наконец, флажок не установлен.

Ответы [ 3 ]

3 голосов
/ 18 октября 2010

Попробуй.

 private void Form1_Load(object sender, EventArgs e)
    {
        DataGridViewCheckBoxColumn ck = new DataGridViewCheckBoxColumn();
        dataGridView1.Columns.Insert(0,ck);
    }

может вам помочь.

Ismail вот ваше решение вашей путаницы Dgv-DatabindingCompleteEvent

1 голос
/ 20 августа 2012

Я прошел через ту же проблему.Для меня решение было довольно простым.В моем datagridview была отключена опция редактирования (потому что я не хотел, чтобы пользователь изменял данные), и я хотел иметь возможность отмечать / снимать отметку с моего DataGridViewCheckBoxColumn.Поэтому в свойствах dataGridView я установил опцию «Включить редактирование», но в коде я отключил его для каждого столбца, кроме моего желаемого checkBoxColumn.Надеюсь, это кому-нибудь поможет.

1 голос
/ 19 мая 2011

, если вы хотите проверить состояние всех checkBoxes в dgv:

foreach (DataGridViewRow row in dataGridView1.Rows)
{
    DataGridViewCheckBoxCell chk = row.Cells[0] as DataGridViewCheckBoxCell;

    if (Convert.ToBoolean(chk.Value) == true)
      MessageBox.Show("this cell checked");

}
...