DataGrid.RowValidationRules Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá pravidla, která se používají k ověření dat v každém řádku.
public:
property System::Collections::ObjectModel::ObservableCollection<System::Windows::Controls::ValidationRule ^> ^ RowValidationRules { System::Collections::ObjectModel::ObservableCollection<System::Windows::Controls::ValidationRule ^> ^ get(); };
public System.Collections.ObjectModel.ObservableCollection<System.Windows.Controls.ValidationRule> RowValidationRules { get; }
member this.RowValidationRules : System.Collections.ObjectModel.ObservableCollection<System.Windows.Controls.ValidationRule>
Public ReadOnly Property RowValidationRules As ObservableCollection(Of ValidationRule)
Hodnota vlastnosti
Pravidla, která se používají k ověření dat v každém řádku.
Příklady
Následující příklad ukazuje ValidationRule , zda StartDate
hodnota vlastnosti objektu Course
je starší než hodnota vlastnosti EndDate
. Tento příklad kódu je součástí většího příkladu uvedeného v tématu Postupy: Implementace ověření pomocí ovládacího prvku DataGrid .
public class CourseValidationRule : ValidationRule
{
public override ValidationResult Validate(object value,
System.Globalization.CultureInfo cultureInfo)
{
Course course = (value as BindingGroup).Items[0] as Course;
if (course.StartDate > course.EndDate)
{
return new ValidationResult(false,
"Start Date must be earlier than End Date.");
}
else
{
return ValidationResult.ValidResult;
}
}
}
Public Class CourseValidationRule
Inherits ValidationRule
Public Overrides Function Validate(ByVal value As Object, _
ByVal cultureInfo As System.Globalization.CultureInfo) _
As ValidationResult
Dim course As Course = _
CType(CType(value, BindingGroup).Items(0), Course)
If course.StartDate > course.EndDate Then
Return New ValidationResult(False, _
"Start Date must be earlier than End Date.")
Else
Return ValidationResult.ValidResult
End If
End Function
End Class
Následující příklad nastaví RowValidationRules vlastnost v XAML. Vlastnost ValidationStep je nastavena na UpdatedValue tak, aby k ověření došlo až po aktualizaci vázaného datového objektu. Když uživatel zadá koncové datum, které je dřívější než počáteční datum, zobrazí se v záhlaví řádku červený vykřičník (!).
<DataGrid.RowValidationRules>
<local:CourseValidationRule ValidationStep="UpdatedValue"/>
</DataGrid.RowValidationRules>
Poznámky
Ovládací DataGrid prvek umožňuje provádět ověření na úrovni buňky i řádku. Při ověřování na úrovni buněk můžete při aktualizaci hodnoty uživatelem ověřit jednotlivé vlastnosti vázaného datového objektu. Při ověřování na úrovni řádků ověříte celé datové objekty, když uživatel potvrdí změny na řádku. Chcete-li vytvořit vlastní ověřovací pravidlo, vytvořte třídu, která je odvozena z ValidationRule třídy a implementujte metodu Validate . Přidejte do kolekce vlastní ověřovací pravidlo RowValidationRules .
Pokud se ItemBindingGroup vlastnost použije, RowValidationRules bude vlastnost ignorována.