mxml 파일 (예 : samp.mxml)에 DataGrid가 있습니다.다른 구성 요소의 한 mxml에서 DataGrid에 액세스하는 방법은 무엇입니까?
<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>
데이터 격자의 열 중 하나에서 텍스트 입력 상자와 버튼을 표시해야합니다. 그래서 난 내가가 구성 요소의 텍스트 입력 상자를 클릭하면 지금, 나는 다른 데이터 행을 추가 할 싶어 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에서 DataGrid를 어떻게 사용합니까?
불편을 끼쳐 드려 죄송 합니다만, 저는 Flex에 매우 익숙합니다. MouseDown = "trace (this.owner);"를 추가했습니다. 그러나 그것이 무엇을 추적하는지보십시오. FlexBuilder를 사용하고 있습니다. – Angeline
응용 프로그램을 디버그하고 (F11을 누름) 텍스트 입력을 클릭하십시오. Alt-tab을 Flex Builder에 추가하려면 창 메뉴로 이동하여 콘솔을 선택하십시오. (또는 윈도우에서 플렉스 디버깅 퍼스펙티브를 선택한다). 콘솔 패널이 표시됩니다. – Amarghosh
나는 iqa0.VBox4.taskPanel.taskDataGrid를 얻는다 – Angeline