J'ai une liste d'enregistrements. Pour afficher la liste, j'utilise sap.m.SelectDialog :

<SelectDialog id="idSelDgAddSupervisor" confirm="handleConfirm" growingThreshold="2000" growing="true" showClearButton="true"
        items="{items}" multiSelect="true"
        liveChange="handleSearch" title="{i18n>Choose}"
         autoAdjustWidth="true" growingScrollToLoad="true">
        <StandardListItem id="idItem" description="{Name}"
            iconDensityAware="false" iconInset="false"
            title="{Plant}" type="Active"/>
    </SelectDialog>

enter image description here

En plus de cela, j'ai mis une boîte de message "avertissement" dans la fonction handleConfirm(), si l'utilisateur sélectionne plus d'une entrée. Quelque chose comme ça:

enter image description here

QUE SE PASSE-T-IL EN CE MOMENT Lorsque l'utilisateur sélectionne plus d'une entrée, il affiche le message d'avertissement, MAIS il ferme la fenêtre contextuelle de sélection avant de l'afficher.

CE QUE JE VEUX RÉALISER Lorsque l'utilisateur clique sur le bouton "OK" dans le message d'avertissement, il doit revenir à l'écran de sélection d'entrée et la fenêtre contextuelle de sélection ne doit pas se fermer tant que l'utilisateur n'a sélectionné qu'une seule entrée.

Est-il possible? Merci d'avance.

0
Vortex 15 mars 2019 à 15:00

2 réponses

Meilleure réponse

J'ai trouvé une solution pour cela. Ce que j'ai fait, c'est que, dans l'événement onClose du dialogue, j'ai détruit l'identifiant du dialogue et rouvert le même dialogue après avoir détruit l'identifiant (afin d'éviter que mon code ne génère une erreur "identifiant d'élément dupliqué").

0
Milind Bhatt 25 mars 2019 à 09:20

Je pense que selectDialog auto-Close.

Vous pouvez maintenant contourner cela en définissant une sélection dans une boîte de dialogue que vous pourrez ouvrir et fermer en cas d'événement.

De la même manière, je comprends que votre utilisateur ne peut choisir qu'UNE SEULE entrée, alors pourquoi multiSelect est-il vrai ? si vous le définissez sur false, une seule entrée sera sélectionnée et il n'est pas nécessaire de mettre une boîte de dialogue d'avertissement.

-1
Gro 22 mars 2019 à 11:27