XtraGrid整行突出显示,但单击的单元格除外

本文关键字:单击 单元格 显示 XtraGrid | 更新日期: 2023-09-27 18:33:10

当我在以下 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];
               //...........
        }
    }
}

XtraGrid整行突出显示,但单击的单元格除外

如果希望焦点单元格看起来像焦点行中的任何其他单元格,请在视图属性中禁用焦点单元格样式。您可以通过两种不同的方式执行此操作:

  • 在运行时:

    myView.OptionsSelection.EnableAppearanceFocusedCell = false;

  • 在设计时:调用 XtraGrid 设计器,选择视图 :: (您的视图) :: 选项选择 :: 将EnableAppearanceFocusedCell设置为 False

如果您有权访问 XtraGrid 设计器,如果您需要更复杂的样式规则,可以查看外观部分。

除了上面 Yuriy Guts 所说的视图的焦点单元格外观之外,如果所选单元格是可编辑的,它仍然不会突出显示该单元格。

因此,如果单元格不需要可编辑,则可以为该列设置OptionsColumn.AllowEdit = false。 否则,如果用户通过单击单元格选择一行,则必须使用该外观,以便用户可以知道他们当前正在编辑哪个单元格。