У меня 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 (флажок) является логическим.Я не уверен, почему я должен звонить дважды.Если кто-то знает, я хочу учиться.Еще раз спасибо, ребята.