Cómo añadir una fila cuadrícula de datos en caso pulsada la tecla?
-
20-09-2019 - |
Pregunta
Tengo una cuadrícula de datos con una fila inicialmente. Cuando hago clic en la primera fila, es decir en el caso pulsada la tecla, quiero otra fila que se añade.
Antes he tenido un botón, al hacer clic en el que he añadido la fila. Pero ahora quiero la fila que se añade automáticamente una vez que hago clic en la primera fila. ¿Como hacer eso?
He añadido evento KeyDown a la cuadrícula de datos, pero tiró algún error.
Alguien me puede ayudar? Me he dado mi código aquí. Tengo un cuadro de texto y un botón en el componente de tarea. Cuando hago clic en el cuadro de texto en el componente de tarea, quiero que la función addTaskRow que se llama ..
<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>
Solución
Usted quiere que al pulsar la tecla o clic de ratón? keyDown
cambiar a mouseDown
.
pero tiró algún error.
¿Qué error no se tire?
Si utiliza mouseDown de la cuadrícula de datos, se añadirá nueva fila al hacer clic en cualquiera de las filas, no sólo la primera fila.
Otros consejos
http://www.switchonthecode.com/tutorials proporciona código para hacerlo / dinámicos-rows-a-flex-cuadrícula de datos añadiendo-