5

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

2 回答 2

10

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

  • 在运行时:

    myView.OptionsSelection.EnableAppearanceFocusedCell = false;

  • 在设计时:调用 XtraGrid 设计器,选择 Views ::(您的视图) :: OptionsSelection :: Set EnableAppearanceFocusedCellto False

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

于 2012-05-02T20:21:54.493 回答
1

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

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

于 2012-05-03T12:15:04.753 回答