#javascript #extjs #extjs4
#javascript #extjs #extjs4
Вопрос:
Я пытаюсь разместить сетку в окне просмотра, которая выглядит нормально, однако, как только я получаю больше записей, чем может отображать страница, некоторые записи больше не видны, и полоса прокрутки не отображается визуально, однако горизонтальная полоса отображается, как ожидалось?
Я тестировал это в IE, Firefox и Chrome, и я получаю такое же поведение, поэтому я полагаю, что я ошибаюсь в какой-то настройке.
var grid4 = Ext.create('Ext.grid.Panel', {
title: 'My Title',
id:'button-grid',
store: getLocalStore(),
layout:'fit',
columns: [
{ text : 'A', width: 50,dataIndex: 'a', sortable: true},
{ text : 'B',flex: 1, dataIndex: 'b', sortable: true},
{ text : 'C Name',width: 120, dataIndex: 'c', sortable: true},
{ text : 'D',width: 100, dataIndex: 'd', sortable: true},
{ text : 'E',width: 50, dataIndex: 'e', sortable: true},
{ text : 'F',width: 70, dataIndex: 'f', sortable: true},
{ text : 'G info',width: 60, dataIndex: 'g', sortable: true},
{ text : 'H Address',flex: 1, dataIndex: 'h', sortable: true},
{ text : 'I',width: 80, dataIndex: 'i', sortable: true},
{ text : 'J by',width: 80, dataIndex: 'j', sortable: true},
{ text : 'K Date',width: 90, dataIndex: 'k', sortable: true}
],
columnLines: true,
selModel: selModel,
iconCls: 'icon-grid',
// inline buttons
dockedItems: [{
xtype: 'toolbar',
dock: 'bottom',
ui: 'footer',
layout: {
pack: 'center'
},
items: [{
minWidth: 80,
text: 'remove'
},{
minWidth: 80,
text: 'Disable'
}]
}, {
xtype: 'toolbar',
items: [{
text:'Click here',
tooltip:'Add a new row',
iconCls:'add',
handler : function(){
win.show();
}
}]
}]
});
// viewport
Ext.onReady(function(){
Ext.QuickTips.init();
var application = new Ext.Viewport({
renderTo: document.body,
layout:'fit',
items: [{
region: 'center',
frame: true,
border: false,
items: grid4
}]
});
Спасибо
Ответ №1:
Вы либо чрезмерно вкладываете сетку:
a) Сделайте сетку первым дочерним элементом окна просмотра. б) Добавьте макет, соответствующий первому дочернему элементу окна просмотра.
a — лучший вариант.
Ответ №2:
Задайте autoScroll
свойство для панели yout grid:
autoScroll: true
По умолчанию значение этого свойства равно false. Включение этого свойства добавляет overflow:’auto’ к элементу компоновки компонентов и при необходимости автоматически отображает полосы прокрутки.
Комментарии:
1. Спасибо, это сработало. var application = new Ext.Viewport({ renderTo: document.body, layout:’fit’, autoHeight: true, items: [grid4] }); });