ultraGrid1.DisplayLayout.Override.SupportDataErrorInfo = SupportDataErrorInfo.RowsAndCells;
このトピックは、 WinGrid™ コントロールの拡張されたデータ検証機能を紹介し、構成例を提供します。既存の IDataErrorInfo とは異なります。
このトピックを理解するためには、以下のトピックを理解しておく必要があります。
このトピックは、以下のセクションで構成されます。
WinGrid コントロールは、グリッドのデータ ソースが IDataErrorInfo
インターフェイスによって情報を返す場合に行およびセルにエラー、画像、ツールチップの表示をサポートします。データ エラーをデータ ソースに設定し、データソースから取得されるため、非バインド列とセルにデータ検証が利用不可です。
UltraGridRow.UltraGridRowDataErrorInfo プロパティは行または行のセルにエラー情報の取得と設定を許可します。この情報はデータ ソースの IDataErrorInfo 実装から返されたエラー情報とは関係ありません。UltraGridRow.DataErrorInfo
にエラーを適用すると、基本データ ソースのエラーに影響しません。
IDataErrorInfo
インターフェイスを使用しなかった非バインド列のセルおよび行にデータ エラーを表示できます。 UltraGridRow オブジェクトで直接にデータ ソースから取得されたエラー テキストをオーバーライドできます。
機能をサポートするには、グリッドにエラーを適用するか取得する前に SupportDataErrorInfo を有効にする必要があります。
利用可能な SupportDataErrorInfo
列挙体オプションは以下です:
CellsOnly
Default (サポートなし)
None
RowsAndCells
RowsOnly
C# の場合:
ultraGrid1.DisplayLayout.Override.SupportDataErrorInfo = SupportDataErrorInfo.RowsAndCells;
Visual Basic の場合:
ultraGrid1.DisplayLayout.Override.SupportDataErrorInfo = SupportDataErrorInfo.RowsAndCells
InitializeRow イベントでセルをデータ エラー情報に設定するには、 SetColumnError メソッドを使用します。
C# の場合:
if ((double)e.Row.Cells["BasePrice"].Value == 0)
e.Row.DataErrorInfo.SetColumnError("BasePrice", "Cell Error: Zero in invalid.");
Visual Basic の場合:
If CDbl(e.Row.Cells("BasePrice").Value) = 0 Then
e.Row.DataErrorInfo.SetColumnError("BasePrice", "Cell Error: Zero in invalid.")
End If
セルのデータ エラー情報を取得するには、 GetColumnError メソッドを使用します。
C# の場合:
string columnError = e.Row.DataErrorInfo.GetColumnError("BasePrice");
Visual Basic の場合:
Dim columnError As String = e.Row.DataErrorInfo.GetColumnError("BasePrice")
以下のコード例は RowError プロパティを使用すると、 InitializeRow イベントで行にデータ エラー情報を適用します。
C# の場合:
if ((double)e.Row.Cells["BasePrice"].Value == 0)
e.Row.DataErrorInfo.RowError = "Row contains invalid cell values...";
Visual Basic の場合:
If CDbl(e.Row.Cells("BasePrice").Value) = 0 Then
e.Row.DataErrorInfo.RowError = "Row contains invalid cell values..."
End If
データ ソースおよびグリッド行から解決されたエラー情報を返す DataErrorInfoResolved プロパティを使用して解決されたエラーを取得できます。
以下のトピックでは、このトピックに関連する追加情報を提供しています。