Vous consultez une page technique concernant le logiciel de gestion Mercator. Celle-ci contient des informations spécifiques destinées aux professionnels de Mercator. Souhaitez-vous être redirigés vers des informations plus générales ?


   Ne plus poser cette question

Comment fixer l'élément par défaut dans un SearchPicker ?

0000002869     -      25/11/2019

Sans paramétrage spécifique, un SearchPicker montrera cette valeur lors de son affichage :

  1. S'il est lié à un tableau de Strings : aucune valeur
  2. S'il est lié à un tableau d'ItemDescriptors : la première valeur
  3. S'il est lié à une liste d'éléments provenant de Mercator : le premier élément par ordre alphabétique.

Il est parfois souhaitable de changer ce comportement. Cela peut se faire via la propriété DefaultIndexOrId du SearchPicker.

 

1. SearchPicker lié à un tableau de strings

<m:SearchPicker DefaultIndexOrId="2" BackgroundColor="White" TextColor="Black" SqlParam="@journal" HorizontalOptions="FillAndExpand">
  <Picker.ItemsSource>
<x:Array Type="{x:Type x:String}">
  <x:String>1Fact</x:String>
  <x:String>1NCre</x:String>
  <x:String>1FCmp</x:String>
</x:Array>
  </Picker.ItemsSource>
</m:SearchPicker>

La valeur par défaut affichée sera bien 1FCmp, çàd la valeur d'index 2 (la première étant numérotée zéro).

 

2. SearchPicker lié à un tableau d'ItemDescriptors

<m:SearchPicker DefaultIndexOrId="valeur desc" BackgroundColor="White" TextColor="Black" SqlParam="$PARAM1$" HorizontalOptions="FillAndExpand" Margin="10, 10, 10, 0">
    <Picker.ItemsSource>
        <x:Array Type="{x:Type m:ItemDescriptor}">
            <m:ItemDescriptor Id="passage desc" Lib="Trier par passage" />
            <m:ItemDescriptor Id="valeur desc" Lib="Trier par CA" />
            <m:ItemDescriptor Id="c_nom asc" Lib="Trier par nom" />
        </x:Array>
    </Picker.ItemsSource>
</m:SearchPicker>

La valeur par défaut affichée sera bien Trier par CA, çàd celle associée à l'id "valeur desc".

 

3. SearchPicker lié à une liste provenant de Mercator

<m:SearchPicker MercatorItemsSource="Rayons" DefaultIndexOrId="A86E5C6C5F" SqlParam="@id_rayon" BackgroundColor="White" TextColor="Black" HorizontalOptions="FillAndExpand" />

La valeur par défaut affichée sera le nom du rayon dont l'id est A86E5C6C5F.

 

Attention : si plusieurs déroulants sont coordonnés (par exemple : rayons / familles / sous-familles), il est nécessaire que les valeurs par défaut soient cohérentes et tiennent compte de l'arborescence de ces rayons, familles et sous-familles. Il convient, par exemple, d'éviter de fixer une valeur par défaut sur une famille, alors que celle-ci n'appartiendrait pas au rayon fixé par ailleurs.

 

MercatorPenguin : version min. = 2.2.1