【问题标题】:XtraGrid whole row is highlighted except the clicked cellXtraGrid 整行突出显示,除了单击的单元格
【发布时间】: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:我想是的。任何想法将不胜感激。

标签: c# winforms gridview devexpress highlighting


【解决方案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 属性。再次感谢。
    猜你喜欢
    • 2012-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多