【问题标题】:I want to get my NEW Gridcontrol Records highlighted. (devexpress winforms)我想突出显示我的新 Gridcontrol 记录。 (devexpress winforms)
【发布时间】:2015-01-27 17:41:47
【问题描述】:

这就是我现在正在做的事情。

private void gvOrderList_RowStyle(object sender, RowStyleEventArgs e)
{
        GridView View = sender as GridView;
        if (e.RowHandle >= 0)
        {
            string sGridRecordOrderNumber = View.GetRowCellDisplayText(e.RowHandle, View.Columns["orderNo"]);
            foreach (string sNewRecordOrderNo in oNewRecordOrderNoList)
            {
                if (sGridRecordOrderNumber == sNewRecordOrderNo)
                {
                    e.Appearance.BackColor = Color.Salmon;
                    e.Appearance.BackColor2 = Color.SeaShell;
                    break;
                }
            }
        }
    }

我使用线程每 30 秒触发一次 sql 查询,并将数据源作为列表提供。 oNewRecordOrderNoList 包含我的新记录列表。我将它的 OrderNo 列与句柄的同一列相匹配,以获得突出显示的行。

我正在按预期突出显示我的行,但我的网格控件上也有 1 秒钟的 A BIG CROSS。如果我在当前表格之后打开其他表格,它也会在其他表格中显示交叉。看起来很丑。

我想要一个解决方案来删除这个交叉或另一个解决方案,通过它我可以通过匹配没有交叉显示的列值来更改我的新行的外观。

我们将不胜感激。

【问题讨论】:

    标签: devexpress-windows-ui


    【解决方案1】:

    红叉表示绘制网格时发生异常。由于您正在更改数据源,因此在加载数据之前推迟突出显示是一个好主意。 像这样的:

    private void LoadData() {
      myGridView.BeginDataUpdate();
      myGridControl.DataSource = GetNewDataSource();
      myGridView.EndDataUpdate();
    }
    

    【讨论】:

    • 抱歉,我试过了。它没有用。十字架还在。我不明白为什么这个十字架会以其他形式出现。如果我评论 row_style 事件的数据,十字架就会消失。
    • 注释 gvOrderList_RowStyle 中的代码。十字架还在吗?
    • 没有。正如我之前所说,当我在事件中评论代码时,交叉消失了。如果我评论事件的代码,一切都会正常工作。所以只有这个事件的代码有问题。顺便说一句,感谢您抽出时间进行查询。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多