0

最初に1行のデータグリッドがあります。最初の行、つまりキーダウン イベントをクリックすると、別の行が追加されます。

以前はボタンがあり、クリックすると行が追加されました。しかし、最初の行をクリックすると、行が自動的に追加されるようになりました。どうやってするか?

データグリッドに 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>
4

2 に答える 2

1

キーを押したり、マウスをクリックしたりしたいですか?に変更keyDownmouseDownます。

しかし、それはいくつかのエラーを投げました。

どのようなエラーがスローされましたか?

DataGrid の mouseDown を使用すると、最初の行だけでなく、任意の行をクリックすると新しい行が追加されます。

于 2009-10-08T06:56:46.830 に答える
0

http://www.switchonthecode.com/tutorials/adding-dynamic-rows-to-flex-datagridは、それを行うためのコードを提供します

于 2009-11-10T19:59:17.853 に答える