Я пытаюсь написать свое гибкое приложение, чтобы оно восстанавливало настройки пользователя при запуске.Приложение имеет 3 сетки данных (только одна видна [на экране] в любое время), и я просто сохраняю состояние сеток, если пользователь когда-либо делает какие-либо события изменения размера.
Сохранение состояния работает отлично,проблема приходит при восстановлении.Кажется, что только видимая сетка данных восстанавливается правильно.На всех других сетках все ширины неверны и не соответствуют параметрам, которые я восстановил.
Проблема в том, что при запуске приложения сетки данных имеют неправильный размер.Каждая сетка данных занимает весь экран, но изначально им присваивается очень маленький размер (т. Е. Ширина 200)
Существует ли какой-либо способ принудительно изменить размер сетки данных при ее создании?Или же можно узнать, когда сетка данных «развернута», я не хочу подключаться к событию изменения размера - если это возможно - потому что я получаю это довольно часто, и я хочу восстановить настройки только один раз.
Вот код, который я использую для восстановления ширины столбцов:
var grid:DataGrid = ...;
... for each column ...
... parse width into width (ie. width is now "320")
// If it's in the config, it's visible
col.visible = true;
col.width = width;
... After loop ...
grid.invalidateSize();
grid.invalidateDisplayList();
Редактировать:
Вот информация, которую вы, ребята, запросили:
Настройки сохраняются в базе данных (проект flex подключен к JBoss).Я просто сохраняю объект типа CSV с именем столбца и его шириной.Я знаю, что это работает, потому что одна сетка данных, которая видна при запуске приложения, имеет правильный размер.
Да, сетки используют относительные размеры (т. Е. 100%) - я могу 'это действительно изменить, потому что я хочу, чтобы сетка занимала все доступное пространство в своем контейнере - и я хочу, чтобы пользователь мог изменить размер своего браузера и при этом выглядел правильно.
Каждая сетка содержится в своем собственном Hbox
Сетки данных создаются при запуске приложения - вы можете видеть только одну из них.Они относятся к типу навигатора вкладок, но его политика создания установлена на «все», поэтому они могут быть заполнены данными (заполнение занимает некоторое время, и обычно пользователь некоторое время сидит на передней сетке.)
Я не могу поместить свои элементы изменения размера в обработчик creationComplete, потому что у меня возникает та же проблема.Размер сетки составляет около 50 сразу после ее создания (он должен быть около 1000, 100% ширины страницы), а затем я устанавливаю размеры столбцов (которые, очевидно,> 50), а изменение размера ничего не делает