GridPanel "теряет" свой store при многократном вызове экземпляров GridPanel
Здравствуйте.
я занимаюсь созданием интерфейса на ExtJs 3.3.1, в котором динамически должны отображаться PopUp окна, в которых динамически геренятся GridPanel. т.к. весь интерфейс динамический, и все его поля, и содержимое должно генерироваться на лету, был написан специальный метод, который генерит массив со столбцами, и store для этого гридника: getFlatGridConfiguration: function (objectId) { var feture = new Feature('someurl'); var cmd = { procedure: 'GetEtalonColumnsList', args: { P_ID_OBJECT: objectId} }; this.MDdict_Columns = feture.Execute(cmd); //Формируем набор столбцов var clmn = []; fld = []; for (i = 0; i < this.MDdict_Columns.length; i++) { if (this.MDdict_Columns[i].DISPLAY_SIZE == 0) continue; clmn.push({ id: 'cl' + this.MDdict_Columns[i].NM_SOURCE, header: this.MDdict_Columns[i].NM_DISPLAY, sortable: true, width: this.MDdict_Columns[i].DISPLAY_SIZE, dataIndex: this.MDdict_Columns[i].NM_SOURCE }); fld.push(this.MDdict_Columns[i].NM_SOURCE); } //Формируем источник данных var ds = new TPageJsonStore(); ds.fields = fld; ds.PageSize = 20; ds.writer = new Ext.data.JsonWriter({ fields: fld }); ds.reader = new Ext.data.JsonReader({ fields: fld }); ds.url = 'someurl'; ds.loadCommand = { procedure: 'SomeProcedureName', args: { P_ID_OBJECT: objectId} }; return { Columns: clmn, Store: ds }; }, дело в том, что этот метод вызывается многократно, и для каждого гридника в initComponent есть строки, которые вызывают этот метод var dictConf = getFlatGridConfiguration(this.objectId); this.columns = dictConf.Columns; this.store = dictConf.Store; проблема в том, что после того, как я открываю еще одно окно с гридником, после работы с ним, я его закрываю, и возвращаюсь к первому, и его store = null. сначала я подумал, что проблема в том, что они используют один и тот же TPageJsonStore, и я сделал массив из них, и использовал новый экземпляр, но это не помогло. В массиве сам store присутствует, но у гридника, store = null. второй день уже не знаю, как побороть данную, проблему, и с чем это связанно. может быть кто-то сможет мне с этим помочь? |
Цитата:
|
Часовой пояс GMT +3, время: 13:37. |