ASファイルにコピー、貼り付けなどの一般的な機能がいくつかあります。1 つのアプリケーションに埋め込まれたさまざまな mxml アプリケーションに存在するデータを編集するためにそれらを使用したいと考えています。いずれかのイベントで子のコンポーネント ID を関数のパラメーターとして渡すと、null または親アプリ名として値が取得されます。しかし、値にアクセスするには、子のコンポーネントのIDが必要です。助けてください。
アップデート:
以下のコード スニペットを見つけてください。
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」は上からわかるように、(dataGrid id) AdvancedDataGridEvent から渡されるものです。メインの mxml を実行し、データグリッド セルを選択して値を切り取ると、null 参照エラーが表示されます。関数の id には、メインの mxml 名である「epfProgram」という値があります。また、dg_ID は null として表示されます。同様に、別の mxml からも同じ機能が必要です。これらの mxml は両方とも、SWFLoader を使用してメインの mxml (epfProgram.mxml) に入れられます。また、コピー、貼り付けなどのボタンはメインの mxml にあります。この問題を解決するのを手伝ってください。