Показаны сообщения с ярлыком flex. Показать все сообщения
Показаны сообщения с ярлыком flex. Показать все сообщения

среда, 9 июня 2010 г.

Flex: Цикл по записям таблицы (DataGrid)

Во флексе, как и в других языках программирования, для перемещения по табличным данным используют курсор (объект типа IViewCursor). Для того, чтобы вполне насладиться всеми удобствами этого инструмента, надо подключить либу:
import mx.collections.IViewCursor;

А потом уже фигачить:
var dp:Object=MyDG.dataProvider;
var cursor:IViewCursor=dp.createCursor();
while( !cursor.afterLast )
{
// можно получить доступ к каждому полю записи через конструкцию: cursor.current.MyFieldName
trace(cursor.current.MyFieldName);
// передвигаем курсор на следующую позицию
cursor.moveNext();
}


Мне это пригодилось для выбора по условию. Внутри цикла я делаю необходимые сравнения, проверяю условия и т.д.

воскресенье, 23 мая 2010 г.

Flex: Label as Link

* Все еще осваиваю Flex.

Чтобы сделать текстовую ссылку, использовала компонент mx:LinkButton. Код получился до неприличия простым:

<mx:LinkButton x="439" y="10" label="http://ttools.ru" 
click="navigateToURL(new URLRequest('http://ttools.ru'), '_blank')"/>


Подробнее про navigateToURL можно прочитать здесь.

среда, 19 мая 2010 г.

mx:DateField по-русски

Для того, чтобы адаптировать DateField (заменить названия дней недели и месяцев на русские и установить первым днем недели понедельник), надо сделать так. Объявить:

[Bindable]
private var dayNamesRus:Array = ['Вс', 'Пн', 'Вт','Ср', 'Чт', 'Пт', 'Сб'];
private var monthNamesRus:Array = ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'];


А потом:
date2.selectedDate=new Date ();  
date2.dayNames = dayNamesRus;
date2.firstDayOfWeek = 1;
date2.monthNames= monthNamesRus;


Еще могут оказаться полезными свойства formatString (отвечает за отображение даты в поле) и disabledDays (массив дней недели, недопустимых для выбора; [0,6] - суббота, воскресенье).

Пример:

<mx:DateField x="111" y="37" id="date1"
formatString="DD-MM-YYYY"
disabledDays="{[0,6]}"
enabled="true" showToday="true"
change="RefreshDateExpList();"/>

flex datefield по-русски

пятница, 7 мая 2010 г.

Крэкс-пэкс-flex

Второй день копаюсь во с flex-е. Вроде все встающие вопросы прекрасно решаются благодаря поиску в интернете. Хотя, не все. Вот, например, не могу понять, почему появляется лишняя пустая строчка в комбобоксе. Причем, она неактивная, выбрать ее нельзя, но визуально портит картинку:
В общем, буду разбираться.

Еще немного непривычно, что в датах отсчет месяцев начинается с нуля, а дней — с единицы. Как-то нелогично.

Планирую сегодня весь остаток дня посвятить flex-у, чтобы сделать по-максимуму и со спокойной совестью уйти на продолжительные выходные.
___

Ремарка. Все решилось достаточно просто за счет явного прописывания rowCount = 0.


А если динамически, то правильно так:


private function resultBAHandler(event:ResultEvent):void{                
balist = event.result.data.row;
var rowcount:String = event.result.data.numrows;
if(rowcount == '1'){
balist.removeItemAt(1);
}
}



P.S. Хочу в Таиланд!