/ / en appuyant sur une touche d'un AdvancedDataGrid sélectionne la ligne: comment désactiver - flex, actionscript-3

en appuyant sur une touche sur un AdvancedDataGrid sélectionne la ligne: comment désactiver? - flex, actionscript-3

Si vous appuyez sur une touche du clavier sur un ADG, lela ligne sélectionnée passe à la première ligne trouvée dont le texte de la cellule de la première colonne commence par le caractère que vous venez de saisir. Est-ce que quelqu'un sait s'il existe une propriété permettant de désactiver ce comportement?

Voici un extrait de code simple qui le montre, au cas où vous souhaiteriez jouer avec du code ...

THX

F


<?xml version="1.0"?>
<!-- dpcontrols/adg/SimpleADG.mxml -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:s="library://ns.adobe.com/flex/spark">

<fx:Declarations>
<s:ArrayCollection id="myCbDb"/>
</fx:Declarations>

<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.AdvancedDataGridEvent;
import mx.events.FlexEvent;
import mx.events.ListEvent;


[Bindable]
private var dpADG:ArrayCollection = new ArrayCollection([
{Row:1, Name:"Pavement", cost:10, length:0.1},
{Row:2, Name:"Pavement", cost:20, length:.2},
{Row:3, Name:"Saner", cost:30, length:.30},
{Row:4, Name:"Saner", cost:10, length:.40},
{Row:5, Name:"The Doors", cost:5, length:.50},
{Row:6, Name:"The Doors", cost:0, length:.60},
{Row:7, Name:"Grateful Dead", cost:20, length:.70},
{Row:8, Name:"Grateful Dead", cost:10, length:.80},
{Row:9, Name:"Grateful Dead", cost:10, length:.90},
{Row:10, Name:"The Doors", cost:5, length:1},
{Row:11, Name:"The Doors", cost:10, length:0},
{Row:12, Name:"The Doors", cost:10, length:0},
{Row:13, Name:"The Doors", cost:10, length:0},
{Row:14, Name:"The Doors", cost:10, length:0},
{Row:15, Name:"The Doors", cost:10, length:0},
{Row:16, Name:"The Doors", cost:10, length:0},
{Row:17, Name:"The Doors", cost:10, length:0},
{Row:18, Name:"The Doors", cost:10, length:0},
{Row:19, Name:"The Doors", cost:10, length:0},
{Row:20, Name:"The Doors", cost:10, length:0},
{Row:21, Name:"The Doors", cost:10, length:0},
]);


]]>
</fx:Script>

<mx:AdvancedDataGrid
id="adg"
width="100%" height="100%"
selectionMode="multipleRows"
dataProvider="{dpADG}">
<mx:columns>
<mx:AdvancedDataGridColumn dataField="Name" />
<mx:AdvancedDataGridColumn dataField="cost" editorDataField="value"/>
<mx:AdvancedDataGridColumn dataField="length" editorDataField="value"/>
</mx:columns>
</mx:AdvancedDataGrid>
</s:Application>

Réponses:

2 pour la réponse № 1

Pour désactiver ce comportement, vous devez utiliser un composant personnalisé qui étend AdvancedDataGrid. Dans ce composant, vous pouvez remplacer la méthode findKey() qui est responsable de la sélection de la première ligne qui commence par la touche enfoncée.

public class CustomAdvancedDataGrid extends AdvancedDataGrid
{
public function CustomAdvancedDataGrid()
{
super();
}

protected override function findKey(eventCode:int):Boolean
{
return false;
}
}