【发布时间】:2013-04-19 14:23:11
【问题描述】:
有时 XtraGrid 会得到一个红十字而不是数据。 (http://www.devexpress.com/Support/Center/p/CB4246.aspx、http://www.devexpress.com/Support/Center/p/A884.aspx 等等)
我已启用中断异常(Ctrl+D、E、选择所有异常)-但不确定是否会发生其他任何事情,以便红线出现。
如果您处于“XtraGrid 显示红色 X”状态,是否有一种简单的方法可以让 XtraGrid 再次工作(据我所知,仅关闭表单并重新打开它会有所帮助)。
我正在寻找类似的东西
GridView gridView = this. GridViewXYZ(objectview);
// objectView is refreshed
gridView.RefreshData(); // <- this can thorw an exception that data is not available / UI will get an red cross
// ??? do something to reset the gridView in a workig condition
【问题讨论】:
-
你是通过 OnPaint 方法绘制的吗?这可能会导致[红十字错误][1]。 [1]:stackoverflow.com/questions/1000052/…
-
你能告诉我们抛出错误的代码和你得到的错误吗?
-
@AlwaysLearning 这与代码抛出错误无关。大多数情况下,抛出错误并知道错误可以修复之前的状态。这是关于错误已经出现时的状态。问题只出现在客户身上总是会发生(同样地,您测试程序的效果如何)。客户不应该被自发的红十字元素所困扰,这些元素只会被一些巫毒教所消失。所以寻找一种方法来从错误状态中恢复。像“如果“错误”则记录“错误”撤消“最后操作”这样的模式
-
@Offer 我不认为这是巫术,我认为客户的 DLL 已过时,或者程序正试图从其本机线程之外的线程加载数据到 GUI。它总是与错误有关。
-
让我解释一下我所说的伏都教是什么意思。如果发生某些事情以致出现红色 coss,这对客户来说是黑魔法,该怎么做才能做进一步的工作。此外,目前尚不清楚是否还有其他原因,然后是众所周知的出现红十字的原因。也许是时候覆盖 XtraGrid 的内部错误处理的完整废话了。如果不存在某些东西,则不应出现红十字 - 一个可处理的 exeptino -o.k。一些行解释说他们的数据无法显示 - 也可以。红十字会——废话。
标签: c# devexpress