XtraGrid 整行突出显示,除了单击的单元格
Posted
技术标签:
【中文标题】XtraGrid 整行突出显示,除了单击的单元格【英文标题】:XtraGrid whole row is highlighted except the clicked cell 【发布时间】:2012-05-12 07:33:24 【问题描述】:当我在下面的 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];
//...........
【问题讨论】:
这是 DevExpress XtraGrid 吗? @Yuris Guts:我想是的。任何想法将不胜感激。 【参考方案1】:如果您希望焦点单元格看起来像焦点所在行中的任何其他单元格,请在视图属性中禁用焦点单元格样式。您可以通过两种不同的方式做到这一点:
在运行时:
myView.OptionsSelection.EnableAppearanceFocusedCell = false;
在设计时:调用 XtraGrid 设计器,选择 Views ::(您的视图) :: OptionsSelection :: 将 EnableAppearanceFocusedCell
设置为 False
。
如果您可以访问 XtraGrid 设计器,如果您需要更复杂的样式规则,可以查看外观部分。
【讨论】:
【参考方案2】:除了上面Yuriy Guts 所说的关于视图的焦点单元格外观,如果选定的单元格是可编辑的,它仍然不会突出显示该单元格。
因此,如果单元格不需要可编辑,您可以为该列设置OptionsColumn.AllowEdit = false
。否则,如果用户通过单击一个单元格来选择一行,那么您必须接受这种外观,以便用户知道他们当前正在编辑哪个单元格。
【讨论】:
谢谢,但我在 DevXpress 的 GridView 中找不到 OptionsColumn.AllowEdit。 它是列的属性,而不是直接的视图。 再次感谢,使用 Yuriy 的建议解决了我的问题,我不必将 AllowEdit 设置为 false,可能是因为在设计时它默认设置为 false。但我非常感谢您跟进我的问题,我确实找到了 AllowEdit 属性。再次感谢。以上是关于XtraGrid 整行突出显示,除了单击的单元格的主要内容,如果未能解决你的问题,请参考以下文章