【问题标题】:how to add a datagrid row on key down event?如何在按键事件中添加数据网格行?
【发布时间】:2010-12-04 21:25:06
【问题描述】:

我最初有一个包含一行的数据网格。当我单击第一行时,即按下按键事件时,我希望添加另一行。

之前我有一个按钮,点击后我添加了行。但是现在我希望在单击第一行后自动添加该行。怎么做?

我在数据网格中添加了 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>

【问题讨论】:

    标签: apache-flex datagrid keyevent


    【解决方案1】:

    您想要在按键或鼠标点击时获得它?将keyDown 更改为mouseDown

    但它引发了一些错误。

    它抛出了什么错误?

    如果你使用 DataGrid 的 mouseDown,当你点击任何一行时,都会添加新行,而不仅仅是第一行。

    【讨论】:

    • 好的,我现在明白了。将 KeyDown 更改为 MouseDown。感谢您的帮助。
    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    • 2010-12-17
    相关资源
    最近更新 更多