Выберите строку, когда пользователь нажимает флажок или щелкает в любом месте строки в Winform Xtragrid. - PullRequest
0 голосов
/ 12 декабря 2018

У меня DevExpress XtraGrid Control V15.2.На основании документации DevExpress ссылка я установил свои свойства gridview

Чтобы отменить выбор, я добавил этот код ниже в событие щелчка строки.

private void view1_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
        {
            if (view1.GetFocusedRow() == null) return;
            int iCurrentRow = view1.FocusedRowHandle;
            view1.InvertRowSelection(iCurrentRow);
        }

Этот код отлично работает, когда я щелкаю в любом месте строки, кроме ячейки моего столбца флажка.Что мне нужно, это должно работать, включая ячейку Checkbox.Если какой-либо вклад будет полезным.спасибо

Редактировать: (Я сделал это работает)

Каким-то образом мне удалось заставить его работать.Я использовал событие RowCellClick Вместо использования события RowClick и добавил еще один фрагмент строки.

private void view1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
        {
            if (view1.GetFocusedRow() == null) return;
            int iCurrentRow = view1.FocusedRowHandle;
            bool bIsSelect = view1.IsRowSelected(iCurrentRow);
            view1.InvertRowSelection(iCurrentRow);
            if (e.Column.ColumnType.ToString() == "System.Boolean")
                view1.InvertRowSelection(iCurrentRow);
        }

Если вы заметили в моем коде, я вызываю второй раз invertrowselection, если мой columnType (флажок) является логическим.Я не уверен, почему я должен звонить дважды.Если кто-то знает, я хочу учиться.Еще раз спасибо, ребята.

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