flex - Seleccione el método del elemento en la chispa Datagrid?
flex4.5 flex-spark (1)
Use la propiedad selectionMode . No se requieren más subclases. En tu caso, querrás configurarlo en multipleRows
.
<s:DataGrid selectionMode="multipleRows" />
Otros valores son:
- ninguna
- unicelular
- singleRow (predeterminado)
- multipleCells
Creo que son bastante auto explicativas.
Ahora, si desea que las filas se seleccionen varias veces con un solo clic (como si la tecla de control estuviera constantemente presionada), puede hacerlo subclasificando DataGrid de la siguiente manera:
public class MyDataGrid extends DataGrid {
override protected function grid_mouseDownHandler(event:GridEvent):void {
event.ctrlKey = true;
super.grid_mouseDownHandler(event);
}
}
Solo interceptamos el evento y establecemos que su propiedad ctrlKey
sea siempre true
.
Estoy habilitando la selección de múltiples filas haciendo clic en la casilla de verificación Elemento renderizador.
esto funciona para extender mx:Datagrid
( otra respuesta )
override protected function selectItem(item:IListItemRenderer,
shiftKey:Boolean, ctrlKey:Boolean,
transition:Boolean = true):Boolean
{
// only run selection code if a checkbox was hit and always
// pretend we''re using ctrl selection
if (item is CheckBox)
return super.selectItem(item, shiftKey, true, transition);
else //Avenir Cokaj 23/06/11: this enables the flex''s natural selection
return super.selectItem(item, shiftKey, ctrlKey, transition);
}
Pero no hay elemento super.selectItem
en s:Datagrid
Entonces, ¿cómo habilitar la tecla de control en spark datagrid?