除了单击的单元格外,XtraGrid整行都会突出显示

时间:2012-05-02 19:24:58

标签: c# winforms gridview devexpress highlighting

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

2 个答案:

答案 0 :(得分:10)

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

  • 在运行时:

    myView.OptionsSelection.EnableAppearanceFocusedCell = false;

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

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

答案 1 :(得分:1)

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

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