3

XtraGrid がデータの代わりに赤い十字を取得することがあります。( http://www.devexpress.com/Support/Center/p/CB4246.aspxhttp://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
4

4 に答える 4

2

BeginInvokeグリッドで呼び出しを試みることができます。

Action a = () => gridView.RefreshData();
gridView.GridControl.BeginInvoke(a);

データソースをいじるたびに、次のようなステートメントでラップすることができます。

私は似たようなものを失効させましたが、このようなものがどれだけ頻繁に機能するかに驚かれることでしょう。

于 2013-04-18T11:06:58.497 に答える
2

以前の GDI の経験から、この状態になると行き詰まります。GDI 内で問題を引き起こした何かを実行しましたが、例外をスローしたり、そこから回復したりできません。

フォームを閉じたり再度開いたりすると、管理されていない GDI オブジェクトが解放されて再作成されるため、同じエラー状態が発生するまで、GDI は再び完全に操作可能になります。このエラーを防ぐことができない場合は、フォーム/コントロール用の新しい GDI オブジェクトを再作成することを検討できますが、どうすればよいかわかりません。

本当にこれは、DevExpress チームがおそらく解決すべきバグです。

于 2013-04-17T14:59:07.913 に答える
1

「XtraGrid が赤い X を示している」状態にある場合、XtraGrid が再び動作するようになる簡単な方法はありますか

はい、そもそもエラー状態にならない場合。それ以外の場合は、閉じてから再度開くことで回避してください。

リンク先の記事には、ペイント中に未処理の例外が発生したか、コントロールの CustomDraw イベントを処理して例外が発生したか、メソッドが非同期的に呼び出されたかのいずれかで、「死の赤十字」が表示される原因に関する情報があります。

問題の原因を特定できない場合は、サンプル プロジェクトで問題を再現して、DevExpress サポート チームに送信してください。

于 2013-04-17T05:35:00.993 に答える