뷰포트를 이용해야 하는듯.
그리드를 처음에 만들어서 뷰포트에 넣어서 나오게 만들고
버튼을 클릭하면 뷰포트에서 지운다음 그리드를 다시 만들어서
뷰포트에 넣는 구조.
<html> <head> </head> <link rel="stylesheet" type="text/css" charset="UTF-8" href="./theme-gray-all.css" /> <style type="text/css"> </style> <script type="text/javascript" charset="UTF-8" src="./ext-all.js"></script> <body> <script language='javascript' > var val_click; Ext.onReady(function(){ columns = [ { text: 'Name', width: 100, sortable: false, hideable: false, dataIndex: 'name' }, { text: 'Email Address', width: 150, dataIndex: 'email', hidden: false }, { text: 'Phone Number', flex: 1, dataIndex: 'phone' , editable: true } ]; Ext.define('User', { extend: 'Ext.data.Model', fields: columns }); var userStore = Ext.create('Ext.data.Store', { model: 'User', data: [ { name: 'Lisa', email: 'lisa@simpsons.com', phone: '100' , age: '50' }, { name: 'Bart', email: 'bart@simpsons.com', phone: '110' , age: '20'}, { name: 'Homer', email: 'homer@simpsons.com', phone: '31', age: '10' }, { name: 'Marge', email: 'marge@simpsons.com', phone: '95', age: '30' } ] }); gridConfig = { store: userStore, width: 400, height: 200, title: 'Application Users', editable : true, columns : Ext.Array.clone( columns ) }; grid01 = Ext.create('Ext.grid.Panel', gridConfig ); button1 = Ext.create('Ext.Button', { text: 'Click me', handler: function() { viewport.remove(grid01, true); columns.push( { text: 'age', flex: 1, dataIndex: 'age' , editable: true } ); gridConfig.columns = columns; grid01 = Ext.create('Ext.grid.Panel', gridConfig ); viewport.add(grid01); } }); var viewport = Ext.create('Ext.container.Viewport', { layout: 'border', items: [ grid01 , button1 ] }); }); </script> </body> </html> |
'[.js][software]' 카테고리의 다른 글
[realGrid] sort 기능 막기 (0) | 2018.10.14 |
---|---|
[realGrid] 기타 (0) | 2018.09.14 |
[jqGrid] div를 이용한 퍼센테이지바 percentage bar (0) | 2017.09.11 |
[jqGrid] jqGrid 틀고정 Fixed frame (0) | 2017.09.11 |
[jqGrid] 특정 셀 마우스다운하고 다른 셀에 마우스 업하면 값 이동 (0) | 2017.09.11 |