3

Infragistic の UltraGrid コントロールを使用して WinForms で作業しています。アクティブ化された行に、行の残りの部分とは異なる背景色を使用してエラーのあるセルが表示されるようにしたいと考えています。

現在、行がアクティブ化されていない場合、エラーが発生したセルは背景が赤で表示され、検証済みのセルは背景が白で表示されます。ただし、行を選択してアクティブにすると、行全体の背景が黄色に設定されているため、どのセルにエラーがあるのか​​ わかりません。

私が見たいのは、行がアクティブ化されている場合、すべての有効なセルが黄色になり、すべての無効なセルが赤色になることです。無効なセルがない場合、すべてのセルが黄色になります。

現在、エラーが見つかった場合は行を非アクティブにしています。これは、ユーザーが行を再度クリックしない限り機能しますが、これはかなり不十分な仮定です。グリッド、バンド、行、列、およびセル レベルでオーバーライドできる DisplayLayout.Override を調べましたが、セル レベルでオーバーライドすると、行レベルの設定がまだ優先されているようです。

4

1 に答える 1

2

Infragisticsのサポートでは、セル自体のActiveAppearanceプロパティとActiveAppearanceEnabledプロパティを利用することを提案しましたが、これらのプロパティが実装されていない以前のバージョンのInfragisticsで立ち往生しています。

最終的に、IUIElementDrawFilterクラスを使用して、セルにカスタム描画フィルターを実装する必要がありました。IUIElementDrawFilterの実装例は、http://help.infragistics.com/Help/NetAdvantage/WinForms/2012.1/CLR2.0/html/Infragistics2.Win.v12.1~Infragistics.Win.IUIElementDrawFilter.htmlにあります

于 2012-11-08T22:25:38.350 に答える