BindingGroup.GetValue(Object, String) Metode

Definisi

Mengembalikan nilai yang diusulkan untuk properti dan item yang ditentukan.

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

Parameter

item
Object

Objek yang berisi properti yang ditentukan.

propertyName
String

Properti yang nilai yang diusulkan untuk mendapatkan.

Mengembalikan

Nilai properti yang diusulkan.

Pengecualian

Tidak ada pengikatan untuk item dan properti yang ditentukan.

Nilai properti yang ditentukan tidak tersedia, karena kesalahan konversi atau karena aturan validasi sebelumnya gagal.

Contoh

Contoh berikut adalah bagian dari aplikasi yang meminta pengguna untuk memasukkan beberapa pelanggan dan menetapkan perwakilan penjualan untuk setiap pelanggan. Aplikasi memeriksa bahwa perwakilan penjualan dan pelanggan termasuk dalam wilayah yang sama. Contoh menunjukkan Validate metode , yang menggunakan GetValue(Object, String) metode untuk mendapatkan nilai yang dimasukkan pelanggan.

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

Keterangan

Gunakan metode ini dalam ValidationRule.Validate metode untuk mendapatkan nilai yang akan diterapkan pada sumbernya. Jenis nilai pengembalian tergantung pada tahap di mana terjadi ValidationRule . Misalnya, jika adalah data yang TextBox terikat ke properti bilangan bulat jenis dan ValidationRule panggilan GetValue(Object, String) tersebut telah ValidationStep diatur ke RawProposedValue, metode mengembalikan string. ValidationRule Jika memiliki set ValidationStep ke ConvertedProposedValue, metode mengembalikan jenis apa pun yang dikembalikan oleh pengonversi pengikatan. Dalam contoh ini, GetValue(Object, String) biasanya mengembalikan bilangan bulat.

Berlaku untuk