当我在下面的GridView中选择一行时,我的鼠标所在的单元格(换句话说,我左键单击的单元格)选择一行,不会突出显示,而行的其余部分都是突出显示。
感谢您的帮助。
GridView myView = (GridView)oGrid.MainView;
myView.OptionsSelection.MultiSelect = true;
myView.OptionsSelection.MultiSelectMode = GridMultiSelectMode.RowSelect;
if (myView.RowCount > 0)
{
frmChangeMyStatus ff = new frmChangeMyStatus(ccfrms);
DialogResult dr = ff.ShowDialog();
if (dr == DialogResult.OK)
{
for (int i = 0; i < myView.SelectedRowsCount; i++)
{
row = myView.GetSelectedRows()[i];
//...........
}
}
}
答案 0 :(得分:10)
如果您希望焦点单元格看起来像焦点行中的任何其他单元格,请在视图属性中禁用焦点单元格样式。您可以通过两种不同的方式完成此任务:
在运行时:
myView.OptionsSelection.EnableAppearanceFocusedCell = false;
在设计时:调用XtraGrid设计器,选择Views ::(您的视图):: OptionsSelection ::将EnableAppearanceFocusedCell
设置为False
。
如果您有权访问XtraGrid设计器,如果您需要更复杂的样式规则,可以查看“外观”部分。
答案 1 :(得分:1)
除了Yuriy Guts上面关于视图的焦点单元格外观的内容之外,如果所选的单元格是可编辑的,它仍然不会突出显示该单元格。
因此,如果单元格不需要可编辑,则可以为该列设置OptionsColumn.AllowEdit = false
。否则,如果用户通过单击单元格选择行,则必须使用该外观,以便用户可以知道他们当前正在编辑哪个单元格。