настройка флексного поля данных с функцией - PullRequest
0 голосов
/ 06 февраля 2010

Я не могу понять это правильно, и все, что я читаю, похоже на мою проблему, но не совсем. Кажется, это будет довольно легко. Все, что я хочу сделать, это установить значение поля данных с помощью функции. Я звоню в xml-файл и могу установить значение поля данных из этого xml (в данном случае это идентификатор категории в виде числа). Но затем я хочу перевести это число в имя, сопоставив его с другим массивом данных.

так что в основном мне просто нужно передать catId в функцию в поле данных, но не могу заставить его работать.

        <mx:DataGridColumn color="0x00101F"  textAlign="center" editable="true" id="categoryField"  headerText="CATEGORY" dataField="getCategoryName(@catId)"  editorDataField="text"></mx:DataGridColumn>

Посмотрите на часть dataField = "getCategoryName (@catId)" этого столбца таблицы данных.

Каков правильный синтаксис для этого?


хорошо, еще один вопрос, как мне получить доступ к переменной, которую я определил в основном приложении, из itemrenderer. Я попробовал сторонний документ, но, похоже, это не сработало.

UPATE: не важно, нужно использовать parentDocument .. спасибо за помощь.

ОБНОВЛЕНИЕ 2: Хорошо, еще раз. Outerdocument работает, просто нужно помнить, чтобы сделать любые переменные, которые вы хотите получить доступ к Public.

1 Ответ

1 голос
/ 07 февраля 2010

Самый быстрый и простой способ - использовать средство рендеринга Inline Item:

<mx:DataGridColumn color="0x00101F"  textAlign="center" editable="true" id="categoryField" headerText="CATEGORY" editorDataField="text">
    <mx:itemRenderer>
        <mx:Component>
            <mx:Label text="{foo(data)}" />
            <mx:Script>
            <![CDATA[
                private function foo(data:Object):String
                {
                     // do something with data.@catId and return it..
                }
            ]]>
            </mx:Script>
        </mx:Component>
    </mx:itemRenderer>
</mx:DataGridColumn>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...