Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Flex > DataGrid доступ к checkBox


Автор: moveax3 12.7.2011, 13:27
Здравствуйте. С флэксом недавно, если глуплю просьба сильно не пинать.

Такое дело:

DataGrid(spark), в одной из колонок itemRenderer="mx.controls.CheckBox" дабы были флажки.

Вопрос: как получить доступ к этим флажкам(т.е. считать/установить их состояние)?
Через dataGrid.dataProvider.getItemAt() как я понял их не найти, т.к. они не есть данные.

Как добратся до них, подскажите пожалуйста?

Автор: IDVsbruck 13.7.2011, 12:10
А доступ тебе и не нужен ... работает событийная модель.

Например:
Код
<mx:DataGrid dataProvider="{someProvider}">
    <mx:columns>
        <mx:DataGridColumn>
            <mx:itemRenderer>
                <fx:Component>
                    <mx:HBox>
                        <mx:CheckBox selected="{outerDocument.isCheckBoxSelected(data.id, outerDocument.bindableVariable)}" change="outerDocument.checkBoxChangeHandler(event)"/>
                    </mx:HBox>
                </fx:Component>
            </mx:itemRenderer>
        </mx:DataGridColumn>
    </mx:columns>
</mx:DataGrid>
...
Код
[Bindable] public var bindableVariable:Object; //это может быть другой грид, чекбокс - что угодно, на что должен реагировать наш чекбокс
public function isCheckBoxSelected(id:Number, bVar:Object):Boolean {
    if (...) return true; //в зависимости от условия 
    return false;
}
public function checkBoxChangeHandler(event:Event):void {
    var ourCheckBox:CheckBox = event.currentTarget as CheckBox;
    //дальше проверяем его и обрабатываем событие
}


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)