2016-10-18 16 views
0

多くのオンラインチュートリアルにもかかわらず、私はまだこれがどのように動作するはずなのかよく分かりません。私はユーザーが行ごとにアドレスを入力できるradgridviewを持っています。彼らはまず郵便番号を入力して欲しい。都市と州は、郵便番号と一致するデータベースから供給されます。したがって、郵便番号が入力されると直ぐにradgridviewを更新する必要があります。ObservableCollectionとINotifyPropertyChangedを使用したWPF Radgridview

これは、INotifyPropertyを使用することです。私はコレクションを更新することができますが、更新するDataGridを取得することはできません。

ビューモデル:市と州を見つける

Public Class ShipTo 
Implements INotifyPropertyChanged 

Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged 

Private Sub NotifyPropertyChanged(ByVal info As String) 
    RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(info)) 
End Sub 

Public Property shipAddressType As String = String.Empty 
Public Property orderID As String = String.Empty 
Public Property shipName As String = String.Empty 
Public Property shipAddr1 As String = String.Empty 
Public Property shipAddr2 As String = String.Empty 

Private _shipCity As String 
Public Property shipCity As String 
    Get 
     Return _shipCity 
    End Get 
    Set(value As String) 
     _shipCity = value 
     NotifyPropertyChanged("shipZip") 
    End Set 
End Property 

Private _shipState As String 
Public Property shipState As String 
    Get 
     Return _shipState 
    End Get 
    Set(value As String) 
     _shipState = value 
     NotifyPropertyChanged("shipZip") 
    End Set 
End Property 

Public Property shipZip As String = String.Empty 

コード:

    Dim shipCS As New ShipTo 
        shipCS.shipCity = GetCityAndState.CityLookup(CStr(CType(dgShippingAddresses.SelectedItem, ShipTo).shipZip)) 
        shipCS.shipState = GetCityAndState.StateLookup(CStr(CType(dgShippingAddresses.SelectedItem, ShipTo).shipZip)) 

XAML:

助けてください。ありがとう。

+0

返信がないので、私は基本から離れており、掘り続けていく必要があると思います。 – EManning

答えて

0

私はついにこれをうまく使いこなしました。ここで苦労している他の誰のために私の解決策は次のとおりです。ジップはデータグリッドに入力されたときに、

Private _shipSelected As Boolean 
Public Property shipSelected As Boolean 
    Get 
     Return _shipSelected 
    End Get 
    Set(value As Boolean) 
     _shipSelected = value 
     NotifyPropertyChanged("shipSelected") 
    End Set 
End Property 

Public Property shipAddressType As String = String.Empty 
Public Property orderID As String = String.Empty 
Public Property shipName As String = String.Empty 
Public Property shipAddr1 As String = String.Empty 
Public Property shipAddr2 As String = String.Empty 

Private _shipCity As String 
Public Property shipCity As String 
    Get 
     Return _shipCity 
    End Get 
    Set(value As String) 
     _shipCity = value 
     NotifyPropertyChanged("shipCity") 
    End Set 
End Property 

Private _shipState As String 
Public Property shipState As String 
    Get 
     Return _shipState 
    End Get 
    Set(value As String) 
     _shipState = value 
     NotifyPropertyChanged("shipState") 
    End Set 
End Property 

Private _shipZip As String 
Public Property shipZip As String 
    Get 
     Return _shipZip 
    End Get 
    Set(value As String) 
     _shipZip = value 
     shipCity = GetCityAndState.CityLookup(_shipZip) 
     shipState = GetCityAndState.StateLookup(_shipZip) 
     NotifyPropertyChanged("shipZip") 
    End Set 
End Property 

は今、都市と状態が自動的に更新されます。

関連する問題