mxml ファイル (たとえば、samp.mxml) にデータグリッドがあります。
<mx:DataGrid id="taskDataGrid" dataProvider="{initDG}" variableRowHeight="true"
editable="true" width="100%" paddingBottom="1" paddingTop="1" height="55" >
<mx:columns>
<mx:DataGridColumn dataField="Select"
editable="true"
rendererIsEditor="true"
itemRenderer="mx.controls.CheckBox"
editorDataField="selected" />
<mx:DataGridColumn dataField="TaskName"
width="220"
editable="true"
rendererIsEditor="true"
itemRenderer="components.taskComponent"/> //i call the component.
<mx:DataGridColumn dataField="TaskId"
itemRenderer="mx.controls.TextInput" />
</mx:columns>
</mx:DataGrid>
データグリッドの列の 1 つで、テキスト入力ボックスとボタンを表示する必要があります。そのため、その機能を個別のコンポーネント、つまり taskComponent.mxml として記述しました。
<mx:TextInput id="TaskName"
editable="true"
text="{data.TaskName}"
mouseDown="addTaskRow(event);"
/>
<mx:Button id="searchTask" label="..." width="30" height="25" click="showPopUp();"/>
コンポーネントのテキスト入力ボックスをクリックすると、別のデータ行が追加されます。データグリッドをクリックすると、行が追加されるので、以前はそれを持っていました。そのため、samp.mxml 自体に関数を記述しました。データグリッド行を追加する機能です。
private function addTaskRow(event:MouseEvent):void
{
taskDataGrid.dataProvider.addItem(
{
}
);
taskDataGrid.height += 30;
}
関数を taskComponent ファイルに記述しようとすると、「未定義のプロパティ taskDataGrid へのアクセス」というエラーが表示されます。taskComponent でデータグリッドを使用するにはどうすればよいですか?