2012-11-14 50 views
1

瀏覽ExtJS文檔時,我迷失在名稱之中,無法找到所需的組件。我想展示一個對象的屬性是這樣的:extjs panelgrid替代

名稱:命名

地址:地址

隨着JSF,我會用一個panelGrid中使用的outputText標籤。有沒有這樣的組件? 還有其他的東西:我想讓這個面板像手風琴或類似的東西一樣「可閉合」,這樣用戶可以在不需要的時候隱藏信息,但是我不能讓手風琴面板的大小適應內容。當我在primefaces中使用accordionpanel時,如果內容發生變化,面板的大小將會調整。有沒有什麼辦法可以用ExtJS做到這一點?

回答

1

嗯,這個怎麼樣:

Ext.create('Ext.data.Store', { 
    storeId:'simpsonsStore', 
    fields:['name', 'email', 'phone'], 
    data:{'items':[ 
     { 'name': 'Lisa', "email":"[email protected]", "phone":"555-111-1224" }, 
     { 'name': 'Bart', "email":"[email protected]", "phone":"555-222-1234" }, 
     { 'name': 'Homer', "email":"[email protected]", "phone":"555-222-1244" }, 
     { 'name': 'Marge', "email":"[email protected]", "phone":"555-222-1254" } 
    ]}, 
    proxy: { 
     type: 'memory', 
     reader: { 
      type: 'json', 
      root: 'items' 
     } 
    } 
}); 

Ext.create('Ext.grid.Panel', { 
    title: 'Simpsons', 
    collapsible: true, 
    store: Ext.data.StoreManager.lookup('simpsonsStore'), 
    columns: [ 
     { text: 'Name', dataIndex: 'name' }, 
     { text: 'Email', dataIndex: 'email', flex: 1 }, 
     { text: 'Phone', dataIndex: 'phone' } 
    ], 
    height: 200, 
    width: 400, 
    renderTo: Ext.getBody() 
}); 
+0

所以它被稱爲colapsible ...謝謝你的那部分工作。 :)雖然我想顯示簡單的鍵值對,但渲染屬性。我不想把它們放在桌子上,因爲只有一排,看起來不太好。 – Peter

+0

@Peter如果你只是想顯示一個對象的一些屬性,我會將它硬編碼到html屬性中,比如'html:'

Name: ' + obj.name + ' Address: ' + obj.address + '
''你也可以使用** [XTemplate](http:// docs。 sencha.com/ext-js/4-1/#!/api/Ext.XTemplate)**,但只有一行已經很多。 – sra