как выровнять сетку панели по центру - PullRequest
6 голосов
/ 04 июля 2011

Я помещаю Ext JS Grid Panel в iFrame. Кто-нибудь знает, как я могу разместить его в центре рамки.

В настоящее время это выглядит так - Currently It look like this

Я хочу, чтобы это было так - I want it to be like this

Ответы [ 5 ]

5 голосов
/ 04 июля 2011

Содержимое вашего IFrame может использовать макет границы, как указано выше, или без макета, например:

var viewPort = new Ext.Viewport({
    renderTo:'body',
    width: 400,
    height: 400,
    items:[new Ext.Panel({
        title: 'hi',
        width: 200,
        height: 200,
        style: 'margin:0 auto;margin-top:100px;'
    })]

});

3 голосов
/ 04 июля 2011

На сайте примеров есть пример, который делает это, вы можете посмотреть.

layout:'ux.center',
items: {
    title: 'Centered Panel',
    widthRatio: 0.75,
    html: 'Some content'
}
1 голос
/ 31 декабря 2013

просто используйте:

this.center()

, где «this» - объект, который вы хотите поместить в центр (скажем, сетка).

1 голос
/ 03 сентября 2012

Другой способ, не такой элегантный, - это набор макетов VBox и HBox, но он чистый ExtJS и не использует UX:

Ext.create('Ext.container.Viewport',{
    style: 'background-color: white;',

    layout: {
        type: 'vbox',
        align : 'stretch',
        pack  : 'start',
    },
    items: [{
        flex: 1,
        border: false
    },{
        height: 200,
        border: false,
        layout: {
            type: 'hbox',
            pack: 'start',
            align: 'stretch'
        },
        items: [{
            flex: 1,
            border: false
        },{
            html:'Centered Panel',
            width: 400
        },{
            flex: 1,
            border: false
        }]
    },{
        flex: 1,
        border: false
    }]

    //items: [login_panel],

});
0 голосов
/ 04 июля 2011

Что-то вроде

grid:
  region: center;

panel:
  layout: border;
  css: "padding: 40px"
...