4 messaggi dal 23 giugno 2005
Ho un oggetto, restituito da un WebService, con una struttura un po' particolare, nel senso che contiene alcune proprieta' semplici come stringe, valori numerici e booleani, ecc, ma anche altri oggetti "figli" ciascuno con delle proprie proprieta' semplici o oggetti figli.

Per esempio, una struttura di questo tipo

code:
Customer (oggetto principale)
|__FirstName (semplice stringa)
|__LastName (semplice stringa)
|__Address (oggetto)
||
| |__AddressLine1 (semplice stringa)
||__AddressLine2 (semplice stringa)
||__Town (semplice stringa)
||__Country(semplice stringa)
||__Zip (semplice stringa)
|
|__Phone
|
|__DayPhone
||
||__AAA(semplice stringa)
||__BBB(semplice stringa)
||__CCC(semplice stringa)
|
|__NightPhone
|
|__AAA(semplice stringa)
|__BBB(semplice stringa)
|__CCC(semplice stringa)

ecc



Avrei bisogno di ottenere in una maniera il piu' automatica possibile (la struttura di quanto restituito dal ws potrebbe cambiare) un DataSet che contenga, internamente, la stessa struttura dell'oggetto restituito dal ws e di tutti gli eventuali oggetti figli, come nell'esempio.
Ottenuto il DataSet, vi faro' aggiungere dinamicamente delle relazioni per poter visualizzare il tutto in una HierarGrid.

Qualche suggerimento?
Più che un dataset, io definirei un insieme di oggetti serializzabili che fungano da entità di trasporto. La definizione dei tipi deve essere specificata sia nell'ambito del WS, sia nell'ambito del client.

Se scrivi un WebMethod che restituisca un array del tipo principale, costituito dai membri da te indicati, puoi per esempio utilizzare direttamente l'array per il binding nell'ambito del programma client che invoca il WS tramite la classe proxy.

Nel tuo scenario puoi definire i tipi serializzabili Customer, Address, ecc. Il WebMethod restituisce un array di Customer che può essere tranquillamente bindato con una griglia.

Spero di aver interpretato in maniera corretta la tua esigenza e di averti dato qualche spunto di riflessione utile.

Ciao, Ricky.

Ing. Riccardo Golia
Microsoft MVP ASP.NET/IIS
ASPItalia.com Content Manager
http://blogs.aspitalia.com/rickyvr
http://ricky.aspitalia.com
http://www.riccardogolia.it
4 messaggi dal 23 giugno 2005
ciao Ricky,
l'oggetto (con tanto di oggetti figli) di cui parlo e' cio' che mi viene gia' restituito da un web service di terzi.
Ho necessita' di creare un DataSet con la sua stessa struttura, perche' quel DataSet mi serve per popolare un HierarGrid, ovvero un set di DataGrid annidati ciascuno dei quali rappresenta l'oggetto principale o un oggetto figlio.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.