Тема: grid scrolling
Показать сообщение отдельно
  #1 (permalink)  
Старый 01.09.2014, 23:04
Аспирант
Отправить личное сообщение для treasury Посмотреть профиль Найти все сообщения от treasury
 
Регистрация: 26.08.2014
Сообщений: 49

grid scrolling
Есть окно, в котором grid таблица. Что нужно указать чтобы данные скролились при этом тулбар и наименование колонок оставались на месте? Сейчас у меня скрол стоит в окне, но этот вариант скролит тулбар и наименование колонок. Код ниже:

var win = new Ext.Window({

        modal: true,
        width:600,
        height:400,
        autoScroll: true,
        title: 'Свойства объекта: '+record.data.nm,
        layout:'auto',
        bodyStyle:{'background-color': '#FFFFFF'},

        items: [
            {
                xtype: 'gridpanel',
                title: 'My Grid Panel',
                itemId: 'Trail',
                id: 'Trail',
                header: false,
                width: '100%',
                store: 'Trailer',

                columns: [
                    {
                        xtype: 'gridcolumn',
                        dataIndex: 'name',
                        width: '50%',
                        text: 'Наименование',
                        blankText: 'Содержимое поля не может быть пустым',
                        flex: 1,
                        editor: {
                            // defaults to textfield if no xtype is supplied
                            allowBlank: false,
                            blankText: 'Содержимое поля не может быть пустым'
                        }
                    },
                    {
                        xtype: 'numbercolumn',
                        dataIndex: 'id',
                        formatter: 'round(0)',
                        format: '0',
                        width: '25%',
                        text: 'Код',
                        editor: {
                            allowBlank: false,
                            formatter: 'round(0)',
                            blankText: 'Содержимое поля не может быть пустым'

                        }

                    },
                    {
                        xtype: 'numbercolumn',
                        dataIndex: 'width',
                        width: '25%',
                        format: '0.00',
                        text: 'Ширина',
                        editor: {
                            //xtype: 'numbercolumn',
                            allowBlank: false,
                            blankText: 'Содержимое поля не может быть пустым'
                        }

                    }                   

                ],


                tbar: [  // верхний тулбар с кнопками удаления и вставки

                    {

                        text: 'Добавить прицеп',
                        icon : 'image/add.jpg',

                        handler : function() {
                            rowEditing.cancelEdit();

                            // Create a model instance
                            var r = Ext.create('MyApp.model.Trailer', {
                                name: 'Новый прицеп',
                                id: '0',
                                width: '0.00'
                            });

                            store.insert(0, r);
                            rowEditing.startEdit(0, 0);
                        }
                    },


                    {

                        itemId: 'removeTrail',
                        text: 'Удалить прицеп',
                        icon : 'image/delete-icon.png',

                        handler: function() {

                        var sm = Ext.getCmp('Trail').getSelectionModel();
                                rowEditing.cancelEdit();
                            rec = sm.getSelection();

                            Ext.Msg.confirm("Удаление", "Вы действительно хотите удалить прицеп<b> " + rec[0].data.name +'</b>?', function(button){

                            if (button == 'yes') {

                                store.remove(rec);

                            if (store.getCount() > 0) {
                                sm.select(0);
                            }

            } else {
                return false;
            }
        });

                        },

                        disabled: true

                    }],

                plugins: [rowEditing],
                listeners: {
                    'selectionchange': function(view, records) {
                        Ext.getCmp('Trail').down('#removeTrail').setDisabled(!records.length);
                    }
                }

            }

        ]

    });

    win.show();
}
Ответить с цитированием