DotNetCampania
Il primo portale campano dedicato allo sviluppo software con tecnologie Microsoft

[silverlight ria services]

rated by 0 users
Risposto This post has 2 verified answers | 3 Replies | 1 Follower

Top 10 Partecipanti
Maschio
79 Post
Punteggio 1.070
Francesco Valentino posted on 4 mag 2011 9:35

Salve a tutti sto da poco cominciando ad utilizzare silverlight avrei bisogno di aiuto in quanto non riesco a svolgere un'operazione.

Ho due tabelle una Regione

formata da due campi: CodiceRegione, Regione

e una tabella Indirizzi

così formata: CodiceRegione, ID, indirizzo, numero, città, cap, latitudine, longitudine.

Le due tabelle sono in relazione uno a molti

Ho utilizzato Wcf Ria Services per la gestione dei dati.

Ho una ComboBox con il binding alla tabella Regione e una datagrid con il binding alla tabella indirizzi.

Così che quando seleziono la regione automaticamente nella datagrid visualizzo gli indirizzi.

Ora avendo una funzione che dato un indirizzo mi restituisce latidutine e longitudine vorrei fare un ciclo sulla datagrid valorizzando i campi Latitudine e longitudine della datagrid e poi salvare il tutto.

Ma come si fa?

Proveniendo da winforms prima avrei semplicemento fatto un ciclo for o sulla datasource della datagridview oppure direttamente sulla datagridview ma con silverlight non ho capito ancora come funziona.

Potreste darmi qualche suggerimento o una mano? Vi ringrazio per il vostro aiuto.

Saluti

Francesco Valentino

Risposto Verified Answer

Top 10 Partecipanti
Maschio
79 Post
Punteggio 1.070

Allora io ho aggirato il problema aggiungendo una query alla DomainService

Ti riporto il codice che ho utilizzato nel mio progetto d'esempio in cui mi sono appoggiato al database northwith ed ho utilizzato le tabelle customers e orders

        dx = New DomainService1
 
        Dim cus As Customers = CustomerIDComboBox.SelectedValue
        dx.Load(Of Orders)(dx.GetOrdersCustomersQuery(cus.CustomerID))
 
        DataGrid1.ItemsSource = dx.Orders
        For Each item In dx.Orders
            item.ShipCity = "Roma"
        Next
        dx.SubmitChanges()

Il problema e che mi mostra i dati che volevo modificare ma non mi effettua la modifica ne nel database. Come mai?
  • | Punteggio Post: 25
Top 10 Partecipanti
Maschio
79 Post
Punteggio 1.070

Giusto per completezza questo è il codice che ho aggiunto nella DomainService

    Public Function GetOrdersCustomers(ByVal custom As StringAs IQueryable(Of Orders)
        Return Me.ObjectContext.Orders.Where(Function(o) o.CustomerID = custom)
    End Function
Grazie
  • | Punteggio Post: 25

All Replies

Top 10 Partecipanti
Maschio
292 Post
Punteggio 3.817

Ciao Francesco, il modo + veloce per fare una cosa del genere la puoi vedere qui: http://forums.silverlight.net/forums/p/41921/162626.aspx

Il modo migliore invece, è quello di utilizzare una ObservableCollection: http://msdn.microsoft.com/it-it/library/ms668604.aspx#Y3258 su cui gestire poi l'aggiunta dei valori che necessiti.

Capisc e dotnet tu? No! E allor che parl a fà!

  • | Punteggio Post: 20
Top 10 Partecipanti
Maschio
79 Post
Punteggio 1.070

Allora io ho aggirato il problema aggiungendo una query alla DomainService

Ti riporto il codice che ho utilizzato nel mio progetto d'esempio in cui mi sono appoggiato al database northwith ed ho utilizzato le tabelle customers e orders

        dx = New DomainService1
 
        Dim cus As Customers = CustomerIDComboBox.SelectedValue
        dx.Load(Of Orders)(dx.GetOrdersCustomersQuery(cus.CustomerID))
 
        DataGrid1.ItemsSource = dx.Orders
        For Each item In dx.Orders
            item.ShipCity = "Roma"
        Next
        dx.SubmitChanges()

Il problema e che mi mostra i dati che volevo modificare ma non mi effettua la modifica ne nel database. Come mai?
  • | Punteggio Post: 25
Top 10 Partecipanti
Maschio
79 Post
Punteggio 1.070

Giusto per completezza questo è il codice che ho aggiunto nella DomainService

    Public Function GetOrdersCustomers(ByVal custom As StringAs IQueryable(Of Orders)
        Return Me.ObjectContext.Orders.Where(Function(o) o.CustomerID = custom)
    End Function
Grazie
  • | Punteggio Post: 25
Pagina 1 di 1 (4 elementi) | RSS

Associazione Culturale DotNetCampania - C.F.: 95127870632

Powered by Community Server (Commercial Edition), by Telligent Systems