BindingGroup.GetValue(Object, String) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.