Sto tentando di associare un oggetto JSON complesso (con proprietà nidificate) al modello di colonna di un GridPanel. IE: Voglio mappare le colonne griglie per, diciamo, report.customer_name e report.report_data.customer.desc dati prova:ext js - Collegamento ColumnModel a un oggetto JSON complesso
> {
> "success": true ,
> "total": "1",
> "result":
> {
> "report": {
> "customer_name": "cust one",
> "account_number": "",
> "report_data": {
> "detail": "these are details",
> "desc": "mydesc"
> }
> }
> } }
quindi il mio columnmodel sarebbe qualcosa di simile
var colModel = new Ext.grid.ColumnModel([
{header: "Customer", sortable: true, dataIndex: 'customer_name'},
{header: "Account", width: 75, sortable: true, dataIndex: 'account_number'},
{header: "Detail", width: 75, sortable: true, dataIndex:'HOW DO I DO THIS'}
]);
I ha provato il dataIndex della colonna Dettagli come 'report_data.details' ma non ha funzionato ...
Qualcuno può dirmi se questo può essere fatto, e se sì, lanciare un esempio a me? Oppure devo semplicemente appiattire l'oggetto prima di leggerlo? grazie mille!
perfetta grazie a lot per il vostro aiuto :) – 29er
cosa succede se il server dispone di un report_data nulla? sembra che freni il negozio. qualche idea ? – jujule
@jujule è possibile "hack" con il trucco renderer: '' 'javascript funzione get_report_data (report_data) { if (! Report_data = null) { ritorno report_data.detail; } ritorno "" } '' ' e poi nella griglia: ' '' javascript {text: "dettaglio", renderer: get_report_data, DataIndex: 'report_data'} '' ' la la domanda è: è questa la strada giusta da fare? –