Javascript/Sencha(147)
-
Sencha this 사용시 주의사항
{} 안에서 this가 적용되기 때문에 onClick_search()를 찾지 못함onAfterRender_App: function(ctrl, eOpts) { this.refreshNamespace(() => { this.onClick_search(); });}{} 밖에 this를 정의하여 호출하면, onClick_search()을 찾을 수 있음onAfterRender_App: function(ctrl, eOpts) { const me = this; this.refreshNamespace(() => { me.onClick_search(); });}
2025.01.21 -
Sencha split and collapsible sample
split이 작동하려면, 'border' layout을 사용해야 함Ext.define('Test.view.SplitCollapsibleGrid', { extend: 'Ext.grid.Panel', xtype: 'splitcollapsiblegrid', title: 'Split and Collapsible Grid', split: true, // Allows resizing collapsible: true, // Allows collapsing store: { xtype: 'store', fields: ['name', 'email', 'phone'], data: [ { name: 'Alice', email: 'alic..
2025.01.19 -
Sencha callback함수 처리
앞의 함수가 끝났을 때, 작동하기 위함callback 함수function saveData(object, url, jsonData = null, callback = null) { let store; // Handle grid or store objects if (object && typeof object.isXType === 'function' && object.isXType('grid')) { store = object.getStore(); // Extract store from grid } else if (object && object.isStore) { store = object; // Directly use the store } else { ..
2025.01.18 -
Sencha store로 grid 찾아내기
GridExt.create('Ext.grid.Panel', { store: Ext.create('Ext.data.Store', { storeId: 'myStore', fields: ['name', 'email'] }), columns: [...], renderTo: Ext.getBody()});Javascriptconst store = Ext.data.StoreManager.lookup('myStore');const grid = Ext.ComponentQuery.query('grid').find(cmp => cmp.getStore() === store);console.log(grid);
2025.01.18 -
Sencha grid의 값을 원래대로 돌렸을 때, 변경 표시 제거하기
store의 fields에서 디폴트값을 설정해주면 됨columns에는 설정해도 작동안함(store를 써야 하는 이유)const store = Ext.create('Ext.data.Store', { fields: [ { name: 'selected', defaultValue: false }, 'id', 'name' ], data: []});
2025.01.18 -
Sencha grid인지 store인지 구분해서 처리하기
// Handle grid or store objects if (object && typeof object.isXType === 'function' && object.isXType('grid')) { store = object.getStore(); // Extract store from grid } else if (object && object.isStore) { store = object; // Directly use the store } else { Ext.Msg.alert('Error', 'Invalid object passed. Expected a grid or store.'); console.error('Invalid object..
2025.01.18