GridPanel是Ext JS中最重要的UI控件之一。它提供了一個靈活、高度可定制的方式來顯示和編輯數據。GridPanel可以從多種數據源中獲取數據,其中包括JSON格式的數據。JSON是一種輕量級的數據交換格式,非常適合用于Web應用程序中。
{ "total": 3, "rows": [ {"id": 1, "name": "John Smith", "age": 32}, {"id": 2, "name": "Jane Doe", "age": 28}, {"id": 3, "name": "Bob Johnson", "age": 45} ] }
上面的JSON代碼表示一個包含三條記錄的數據集。每條記錄包含一個ID、一個名字和一個年齡。GridPanel可以使用Ext.data.Store對象來加載JSON數據。下面是一個使用Ext.data.Store對象加載JSON數據的示例:
var store = Ext.create('Ext.data.Store', { proxy: { type: 'ajax', url: 'data.json', reader: { type: 'json', rootProperty: 'rows' } }, fields: ['id', 'name', 'age'] }); var gridPanel = Ext.create('Ext.grid.Panel', { store: store, columns: [ {text: 'ID', dataIndex: 'id'}, {text: 'Name', dataIndex: 'name'}, {text: 'Age', dataIndex: 'age'} ] });
上面的代碼創建了一個GridPanel,并將JSON數據加載到該控件中。該控件包含三列,用于顯示ID、名字和年齡。GridPanel還可以提供排序、分頁、過濾等功能,使用戶能夠方便地瀏覽和編輯JSON數據。