BindingGroup.GetValue(Object, String) Methode

Definitie

Retourneert de voorgestelde waarde voor de opgegeven eigenschap en het opgegeven item.

public:
 System::Object ^ GetValue(System::Object ^ item, System::String ^ propertyName);
public object GetValue(object item, string propertyName);
override this.GetValue : obj * string -> obj
Public Function GetValue (item As Object, propertyName As String) As Object

Parameters

item
Object

Het object dat de opgegeven eigenschap bevat.

propertyName
String

De eigenschap waarvan de voorgestelde waarde moet worden opgehaald.

Retouren

De voorgestelde eigenschapswaarde.

Uitzonderingen

Er is geen binding voor het opgegeven item en de opgegeven eigenschap.

De waarde van de opgegeven eigenschap is niet beschikbaar vanwege een conversiefout of omdat een eerdere validatieregel is mislukt.

Voorbeelden

Het volgende voorbeeld maakt deel uit van een toepassing waarin de gebruiker wordt gevraagd om meerdere klanten in te voeren en een verkoopvertegenwoordiger toe te wijzen aan elke klant. De toepassing controleert of de verkoopvertegenwoordiger en de klant deel uitmaken van dezelfde regio. In het voorbeeld ziet u de Validate methode, die gebruikmaakt van de GetValue(Object, String) methode om waarden op te halen die de klant heeft ingevoerd.

public class AreasMatch : ValidationRule
{
    public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
    {
        BindingGroup bg = value as BindingGroup;
        Customer cust = bg.Items[0] as Customer;
        
        if (cust == null)
        {
            return new ValidationResult(false, "Customer is not the source object");
        }

        Region region = (Region)bg.GetValue(cust, "Location");
        ServiceRep rep = bg.GetValue(cust, "ServiceRepresentative") as ServiceRep;
        string customerName = bg.GetValue(cust, "Name") as string;

        if (region == rep.Area)
        {
            return ValidationResult.ValidResult;
        }
        else
        {

            StringBuilder sb = new StringBuilder();
            sb.AppendFormat("{0} must be assigned a sales representative that serves the {1} region. \n ", customerName, region);
            return new ValidationResult(false, sb.ToString());
        }
    }
}
Public Class AreasMatch
    Inherits ValidationRule
    Public Overrides Function Validate(ByVal value As Object, ByVal cultureInfo As System.Globalization.CultureInfo) As ValidationResult
        Dim bg As BindingGroup = TryCast(value, BindingGroup)
        Dim cust As Customer = TryCast(bg.Items(0), Customer)

        If cust Is Nothing Then
            Return New ValidationResult(False, "Customer is not the source object")
        End If

        Dim region As Region = CType(bg.GetValue(cust, "Location"), Region)
        Dim rep As ServiceRep = TryCast(bg.GetValue(cust, "ServiceRepresentative"), ServiceRep)
        Dim customerName As String = TryCast(bg.GetValue(cust, "Name"), String)

        If region = rep.Area Then
            Return ValidationResult.ValidResult
        Else

            Dim sb As New StringBuilder()
            sb.AppendFormat("{0} must be assigned a sales representative that serves the {1} region. " & vbLf & " ", customerName, region)
            Return New ValidationResult(False, sb.ToString())
        End If
    End Function
End Class

Opmerkingen

Gebruik deze methode in de ValidationRule.Validate methode om de waarde op te halen die moet worden doorgevoerd in de bron. Het type van de retourwaarde is afhankelijk van de fase waarin de ValidationRule waarde zich voordoet. Als een TextBox gegevens bijvoorbeeld zijn gebonden aan een eigenschap van het type geheel getal en de ValidationRule aanroepen GetValue(Object, String) zijn ValidationStep ingesteld RawProposedValue, retourneert de methode een tekenreeks. Als de ValidationRuleValidationStep waarde is ingesteld ConvertedProposedValueop, retourneert de methode het type dat wordt geretourneerd door het conversieprogramma van de binding. In dit voorbeeld GetValue(Object, String) wordt meestal een geheel getal geretourneerd.

Van toepassing op