0

タブの 1 つに存在する Sencha Touch で DataView を作成しています。

問題は、DataView が表示されないことです。右クリック -> 要素の検査 (Chrome) を実行すると、ページ (開発者ツール) に DataView の HTML が表示されますが、ページ自体には白い背景しか表示されません。

私のDataViewのソースコードは次のとおりです。

Ext.define('MyApp.view.DashboardTab', {
extend: 'Ext.Panel',
xtype: 'dashboard',

config: {
    title: 'Dashboard',
    itemId: 'dashboardTab',
    layout: 'vbox',

    items: [{
        xtype: 'dataview',
        store: { xtype: 'mystore' },
        itemTpl: [
            '<div class="myDiv">',
                '<table class="myTable">',
                    '<tr>',
                        '<td>Data 0:</td><td>{data_0}</td>',
                        '<td>Data 1:</td><td>{data_1}</td>',
                    '</tr>',
                    '<tr>',
                        '<td>Data 2:</td><td>{data_2}</td>',
                        '<td>Data 3:</td><td>{data_3}</td>',
                    '</tr>',
                    '<tr>',
                        '<td>Data 4:</td><td>{data_4}</td>',
                        '<td>Data 5:</td><td>{data_5}</td>',
                    '</tr>',
                '</table>',
                '<div class="myOtherDiv">',
                    '<img src="{image}" />',
                '</div>',
            '</div>'
        ]
    }]
}
});
4

1 に答える 1

0

データビューがストアからデータを取得していないように見えます。それがデータビューが表示されない理由です。

1 つの代替手段は、コントローラー内で setData を使用して、データビューのデータを設定することです。

たとえば、

var responseObj = serverController.getWSResponse;
   var myDataView = Ext.getCmp('myDataView ');
        var data = myDataView .getData();
        if (data != null) {
            myDataView .onStoreClear();
        }

        myDataView.setData(Ext.JSON.decode('[' + JSON.stringify(responseObj) + ']'));

これにより、データビューでフィードしているものをより柔軟にデバッグできます。

お役に立てれば。

于 2013-05-17T20:03:50.157 に答える