Domanda

Ho una griglia che lega una serie di dati di oggetti figlio a colonne senza alcun problema, utilizzando la sintassi definita in http://www.telerik.com/help/aspnet-ajax/grdbindingtosubobjects.html .

Quello che non riesco a capire, però, è come aggregare un oggetto figlio che è un elenco o di raccolta. Per esempio, se ho un oggetto Customer e voglio ottenere il primo indirizzo del cliente, vorrei utilizzare DataField="Customer.Addresses[0].Street" su un GridBoundColumn standard. Come posso ottenere il conteggio degli indirizzi? Ho provato tutti i tipi di GridCalculatedColumn DataFields ed espressioni, senza alcun risultato. Sto cercando qualcosa sulla falsariga di questo:

Questo non funziona, ovviamente. In realtà, se provo a fare un conteggio su qualsiasi campo di dati tratteggiata, ottengo un'eccezione di

  

" System.Data.SyntaxErrorException: Errore di sintassi nella discussione aggregata:. In attesa di un singolo argomento colonna con possibilità di qualificazione 'Bambino' "

Ad esempio, solo cercando di usare un'espressione di Count({0}) con DataFields impostati Customer.FirstName (di cui v'è una sola), fa sì che generazione di un'eccezione in fase di esecuzione. Fare la stessa cosa con un campo di dati non tratteggiata, come ad esempio SendDate, non provoca la stessa eccezione.

È stato utile?

Soluzione

Sembra che tu già ricevuto una risposta a questa domanda dal Forum Telerik ma per le persone che potrebbero inciampare su questa domanda cerca di una risposta.

Essenzialmente il RadGrid non supporta avere collezioni nei suoi DataFields, ei tipi di proprietà associabili supportati possono essere trovate qui . Quindi, in termini di questa aggregazione si potrebbe o fare un calcolo attraverso questa collezione, prima associazione al RadGrid ed avere una colonna di aggregazione definito, o si potrebbe considerare di usare piè di pagina molto simile a questa demo .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top