Когда вы делаете DataGrid Windows Forms C # недоступным для редактирования, почему столбец флажков перестает работать, помогите? - PullRequest
0 голосов
/ 16 сентября 2011

Grid Edit

Здравствуйте, у меня есть сетка данных в Windows Forms C #, я поместил в нее столбец для флажков, для многократного удаления, у меня есть событие в этой сетке данных, если я дважды щелкаю по ее строке, она открывает всплывающее окно, в котором есть все детали этой строки, проблема в том, что сетка редактируема, и если мы дважды щелкаем мышью, иногда он переключается в режим редактирования и начинает мигать курсор для редактирования, но если я делаю сетку недоступной для редактирования, флажки не работают вообще, это довольно глупо, я не нахожу какой-либо функции, с помощью которой я могу сделать столбец checboxes редактируемым, а остальную сетку - недоступным для редактирования, возможно ли разобраться с этой проблемой? Мне вообще не нужна сетка в режиме редактирования, потому что у меня другая форма для редактирования, и я не могу использовать ее, так как она имеет разные поля с разными типами. Прикрепление небольшого образца. Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 17 сентября 2011

Другим способом было бы сделать весь просмотр данных только для чтения, использовать событие CellMouseClick и проверить, нажал ли пользователь ячейку, содержащую флажок, и, если это так, переключить флажок программно:

    private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
    {
        DataGridViewCell cell = this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
        if (e.ColumnIndex != 2) return; // if column 2 contains checkbox
        bool check = (bool)cell.Value;
        cell.Value = !check;
    }

На самом деле это проще (в событии FormLoad):

        foreach (DataGridViewColumn column in this.dataGridView1.Columns)
        {
            column.ReadOnly = column.Index == 2 ? false : true;
        }
0 голосов
/ 16 сентября 2011

Просто установите свойства для каждого столбца самостоятельно и сделайте все, кроме флажка-столбца, доступным только для чтения. Вы можете сделать это напрямую от дизайнера. Должна быть команда «Редактировать столбец», если вы щелкаете по своей сетке Процесс установки столбцов должен быть простым. Спросите еще раз, если вы не нашли свой путь.

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