Как определить пользовательскую проверку для свойства в DevExpress?
Пожалуйста, учтите, что у меня есть объект
public double RealVolume
{
get
{
return _RealVolume;
}
set
{
SetPropertyValue("RealVolume", ref _RealVolume, value);
}
}
тогда у меня тоже есть
[Browsable(false)]
public VolumeType VolumeOrVolumePoints
{
get
{
return WMSSystemSetting.Get_VolumeOrVolumePoints(Session);
}
}
Я хочу это когда VolumeOrVolumePoints == VolumeType.Volume
затем RealVolume
быть проверенным как целое число, иначе как двойное число.
Как я мог этого добиться? Спасибо!
1 ответ
Для получения информации о том, как проверить объект с XPO, смотрите здесь. Если вы используете DevExpress XAF, используйте ValidationRule
из модуля проверки вместо этого.
Так что вам нужно что-то вроде:
protected override void OnSaving()
{
if (VolumeOrVolumePoints == VolumeType.Volume)
{
if (RealVolume % 1 != 0) // see http://stackru.com/a/2751597/1077279
throw new Exception("The RealVolume value must be an integer when using Volume units.");
}
}