2009-10-08 55 views
0

我有一個數據網格inrid一行。當我點擊第一行,即關鍵事件時,我想要添加另一行。如何在按鍵事件上添加數據網格行?

早些時候我有一個按鈕,點擊我添加的行。但是現在我想要點擊第一行後自動添加該行。怎麼做?

我將keydown事件添加到數據網格,但它拋出了一些錯誤。

有人可以幫助我嗎?我在這裏給我的代碼。 我在任務組件中有一個文本框和一個按鈕。當我點擊在任務組件中的文本框,我想addTaskRow函數的調用..

<mx:Script> 
    <![CDATA[ 
     import mx.collections.ArrayCollection; 
     import mx.rpc.events.ResultEvent; 
     import mx.collections.XMLListCollection; 


[Bindable] 

     private var initDG:ArrayCollection = new ArrayCollection([ 
      {Select:true}, 

     ]); 

     private function addTaskRow(event:MouseEvent):void 
     { 
      taskDataGrid.dataProvider.addItem(
       { 

       } 
      ); 
      taskDataGrid.height += 30; 

     } 

    ]]> 
</mx:Script> 

<mx:DataGrid id="taskDataGrid" dataProvider="{initDG}" variableRowHeight="true" editable="true" 
    width="100%" paddingBottom="1" paddingTop="1" height="47"> 

    <!--mx:DataGrid id="taskDataGrid" dataProvider="{initDG}" rowCount="1" variableRowHeight="true" editable="true" width="100%" keyDown="addTaskRow(event);"--> 
      <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"/> 

       <mx:DataGridColumn dataField="TaskId" 
       itemRenderer="mx.controls.TextInput" /> 

       <mx:DataGridColumn dataField="TaskType" 
        itemRenderer="mx.controls.TextInput"/> 

       <mx:DataGridColumn dataField="ProjectWon" 
        itemRenderer="mx.controls.TextInput"/> 

       <mx:DataGridColumn dataField="ItemCodeVersion" 
        itemRenderer="mx.controls.TextInput"/> 



      </mx:columns> 
     </mx:DataGrid> 

回答

1

您想要的按鍵或鼠標點擊?將keyDown更改爲mouseDown

但它拋出了一些錯誤。

它拋出了什麼錯誤?

如果您使用DataGrid的mouseDown,當您單擊任何行時,將添加新行,而不僅僅是第一行。

+0

好吧,我現在明白了。將KeyDown更改爲MouseDown。謝謝你的幫助。 – Angeline 2009-10-08 07:08:53

相關問題