как получить доступ к гибкому идентификатору компонента в целом? - PullRequest
0 голосов
/ 16 июля 2010

У меня есть несколько общих функций, таких как копирование, вставка и т. Д. В файле AS. Я хочу использовать их для редактирования данных, представленных в различных mxml-приложениях, встроенных в одно приложение. Если я передаю идентификатор дочернего компонента в качестве параметра функции в одном из событий, я получаю значение как нулевое или как имя родительского приложения. Но я хочу, чтобы идентификатор дочернего компонента имел доступ к значениям. Пожалуйста, помогите.

Обновление:

Ниже приведены фрагменты кода:

epfGateTask.mxml

..
<mx:AdvancedDataGrid id="task" resizableColumns="true" initialize="populateArray()"
 dataProvider="{gateTaskList}" width="100%" height="100%" horizontalScrollPolicy="auto" 
verticalScrollPolicy="auto" selectionMode="multipleCells" editable="true" itemEditBeginning="{editStart(event,task)}" paddingTop="0" paddingBottom="0" lockedColumnCount="5" rowCount="27"  sortableColumns="false" liveScrolling="false" variableRowHeight="true" headerWordWrap="true" >
<mx:columns>
<mx:AdvancedDataGridColumn id="gateName" dataField="gateName" headerText="" width="137" wordWrap="true" textAlign="center" editable="false"/>
...

MenuBarUtilities.as

...
var dg_ID :Object ; 

public function cut(event: Event)
{

    if(selectedData != null && selectedData!="")
    {
        copy(event);
        dg_ID.selectedItem[columnName]= "";
        dg_ID.invalidateList();
    }
}

public function editStart(event:AdvancedDataGridEvent,id:Object):void
{   
    dg_ID = id;
    columnIndex  = event.columnIndex;
    columnName = id.columns[columnIndex].dataField;
    var dataField: String = id.selectedItem[columnName];
    selectedData = dataField;       
}
...

Эта функция предназначена для сохранения значения поля данных во временной переменной, чтобы при копировании и вставке значение можно было вставить. Здесь 'id', как вы можете видеть сверху, это (idGrid id) то, что передается из AdvancedDataGridEvent. Теперь, выполнив основной mxml и выбрав ячейку таблицы данных, чтобы вырезать значение, отображается нулевая ошибка ссылки. id в функции имеет значение как «epfProgram», которое является основным именем mxml. И dg_ID показывается как ноль. Точно так же такая же функциональность требуется от другого mxml. Оба эти mxml помещаются в основной mxml (epfProgram.mxml), используя SWFLoader. И кнопки копирования, вставки и т. Д. Присутствуют в основном mxml. Пожалуйста, помогите мне решить эту проблему.

1 Ответ

1 голос
/ 16 июля 2010

Не видя никакого кода, я бы рекомендовал отправлять ссылку на компонент в вашем событии, а не отправлять идентификатор.На самом деле, теперь, когда я говорю, что вы, возможно, можете просто пропустить это и получить доступ к отправляющему компоненту через свойство currentTarget события, которое вы получаете в своем прослушивателе событий.

...