我有DevExpress XtraGrid控件V15.2。根据DevExpress文档link,我已经设置了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);
}
如果您在我的代码中注意到,如果我的columnType(Checkbox)为boolean,则调用第二次invertrowselection。我不确定为什么我应该打两次电话。如果有人知道,我很想学习。再次感谢你们。