Affichage par défaut du formulaire "General Info

Étiquetté : , ,

  • Affichage par défaut du formulaire "General Info

    Posté par Philippe CULOT sur 27 décembre 2021 à 18h49

    Bonjour,

    Je souhaiterai que l’utilisateur arrive systématiquement sur l’onglet “General Info” lorsque je clique sur 1 élément de ma galerie ou bien sur l’icone ajout (matérialisée par l’icône +) .

    Merci de votre aide

    Formulaire avec les onglets

    Mes onglets sont faits à partir d’une galerie dans laquelle j’ai inséré une étiquette

    Propriété items de la galerie

    [{ID:”General”; DisplayName:”General Info”}; {ID:”Address”; DisplayName:”Address”}; {ID:”Billing”; DisplayName:”Billing Address”};]

    Merci de votre aide et Bonne fêtes de fin d’année

    PostID=kLkKFu8Wo9AciTP

    Philippe CULOT a répondu Il y a 7 mois, 3 semaines 1 Membre · 10 Réponses
  • 10 Réponses
  • Theophile CHIN-NIN

    Membre
    28 décembre 2021 à 9h13

    Bonjour,

    Ce que je fais habituellement dans ce genre de situation, c’est que premièrement, mes onglets ne sont pas ajoutés directement dans la propriété Items de la gallerie, mais plutot dans une collection :

    App.OnStart : ClearCollect(colFormTabs;{ID:"General"; DisplayName:"General Info"}; {ID:"Address"; DisplayName:"Address"}; {ID:"Billing"; DisplayName:"Billing Address"})n

    Puis dans mon formulaire, au clique sur un élément de la gallerie, je fais un

    UpdateContext({locSelectedTab:ThisItem})n

    De cette facon je connais l’onglet sélectionné et je peux adapter mon formulaire en fonction (afficher masquer des datacards en fonction du locSelectedTab.ID.

    Donc ce que vous pouvez faire c’est lorsqu’un élément est cliqué sur votre gallerie de votre 1er écran :

    Navigate('Ecran Formulaire';Transition.None,{locSelectedTab:LookUp(colFormTabs;ID="General")})n

    Et par habitude j’ajoute également une sorte de reset lorsqu’on quitte le formulaire

    'Ecran Formulaire'.OnHidden : UpdateContext({locSelectedTab:LookUp(colFormTabs;ID="General")})n

    Theo

    CommentID=Oz6jpNTLHRwPHyB, PostID=kLkKFu8Wo9AciTP

  • Philippe CULOT

    Membre
    30 décembre 2021 à 9h31

    Bonjour,

    @Theophile CHIN-NIN , ce que je comprends un seul formulaire est nécessaire pour naviguer entre les onglets, et chaque datacard est visible en fonction de l’ID (General,Address,Billing).

    Dans l’exemple que j’ai posté, je me suis inspiré d’un tuto ou par chaque onglet un formulaire était réalisé et qui prenait les datacards nécessaires.

    Dans ta solution :

    • Peux tu me confirmer qu’un seul formulaire est nécessaire
    • Peux tu m’indiquer ou dois je placer la formule ci dessous
    UpdateContext({locSelectedTab:ThisItem})n

    CommentID=vace1lWc7bEGDcP, PostID=kLkKFu8Wo9AciTP

    • Theophile CHIN-NIN

      Membre
      30 décembre 2021 à 9h41

      @CULOT

      Oui moi je préfère 1 seul formulaire, car de cette façon tu as 1 seul “SubmitForm()”. Si tu joues avec plusieurs formulaires, tu vas soit galérer à merger tes modifications pour soumettre 1 seul form, soit tu vas create/update plusieurs fois ton élément, ce qui n’est vraiment pas optimal.

      UpdateContext({locSelectedTab:ThisItem})n

      Se positionne au clique sur un des onglets. Donc dans la gallery des onglets moi je met un bouton appelé btnTab, et sur btnTab.OnSelect, j’update ma variable locSelectedTab. De cette facon dès que tu cliques sur un onglet, tu as dans une variable l’onglet sur lequel tu es.

      Et dans ma collection de tab, je met un tableau avec les datacards à afficher (les noms techniques de colonnes que je veux afficher pour l’onglet) :

      App.OnStart : nClearCollect(n  colFormTabs;n  {ID:"General"; DisplayName:"General Info";Tabs:["Title","Colonne1"]};n  {ID:"Address"; DisplayName:"Address";Tabs:["Colonne2","Colonne3"]};n  {ID:"Billing"; DisplayName:"Billing Address";Tabs:["Colonne4","Colonne5"]}n          )n

      De cette façon, dans mes datacards de mon formulaire, je peux mettre une formule générique sur le OnVisible :

      DataCard.Visible : Self.DataField in locSelectedTab.Tabsn

      Cela veut dire : Si le datafield (=le nom technique de la colonne attachée à la datacard du formulaire) est dans le tableau “Tabs” de l’onglet sélectionné, alors afficher la datacard.

      Théo

      SubCommentID=FWlctkUQ6bQyRKA, CommentID=vace1lWc7bEGDcP, PostID=kLkKFu8Wo9AciTP

    • Philippe CULOT

      Membre
      30 décembre 2021 à 9h46

      @Theophile CHIN-NIN ,merci de ce complément d’explications, je vais tester sur mon exemple

      SubCommentID=5x82qlUoJ4smiqM, CommentID=vace1lWc7bEGDcP, PostID=kLkKFu8Wo9AciTP

    • Philippe CULOT

      Membre
      3 janvier 2022 à 7h49

      @CULOT

      SubCommentID=5gj20lExBNLN9HV, CommentID=vace1lWc7bEGDcP, PostID=kLkKFu8Wo9AciTP

  • Philippe CULOT

    Membre
    3 janvier 2022 à 8h00

    Bonjour @Theophile CHIN-NIN

    Tout d’abord Bonne et heureuse Année 2022.

    J’ai mis en oeuvre tes recommandations et cela fonctionne bien, lorsque je change d’enregistrement ou j’ajoute un nouvel enregistrement j’arrive bien sur le formulaire Général Info mais le btnTab (qui pour moi est un label) reste grisé alors qu’il devrait être en bleu clair (pour signifier que c’est cet onglet qui est sélectionné). En fait le btnTab reste sur le dernier clic que j’ai réalisé, merci d’avance pour ton aide.

    CommentID=ZBnhI6BBFyWyjJS, PostID=kLkKFu8Wo9AciTP

    • Theophile CHIN-NIN

      Membre
      3 janvier 2022 à 9h25

      Bonjour @CULOT

      Meilleurs voeux également 🙂

      En général moi j’utilise un bouton avec un displayMode.Disabled pour l’onglet sélectionné, et displayMode.Edit pour les onglets non-sélectionnés (pour jouer sur la “cliquabilité” de l’onglet), et je change les couleurs, surtout pour le Disabled pour ne pas qu’il soit grisé, mais plutot mi en avant.

      Donc sur le bouton dans ma gallerie (btnTab) je fais un

      btnTab.DisplayMode : If(locSelectedTab.ID = ThisItem.ID, DisplayMode.Disabled, DisplayMode.Edit)n

      De cette facon, le bouton (=l’onglet) est désactivé si on est actuellement sur cet onglet, et activé pour naviguer vers un autre onglet.

      Théo

      SubCommentID=Wfcpwo14blsZNSj, CommentID=ZBnhI6BBFyWyjJS, PostID=kLkKFu8Wo9AciTP

    • Philippe CULOT

      Membre
      3 janvier 2022 à 9h37

      @Theophile CHIN-NIN ,Merci pour ce complément, j’ai appliqué ta recommandation et ai modifié les couleurs , cela est parfait.

      SubCommentID=kyy1M0V302g17I5, CommentID=ZBnhI6BBFyWyjJS, PostID=kLkKFu8Wo9AciTP

  • Philippe CULOT

    Membre
    24 janvier 2022 à 15h11

    bonjour

    @Theophile , je reviens vers toi pour un probleme sur lequel je bute, j’ai un datacard qui est répeté sur tous les onglets alors que bien défini dans le tabs “Juridique” (champ “scDoumentsJuridique”) . Datacard Documents cadre juridique

    Merci pour l’aide à venir

    CommentID=lKlDVjvqU4rm6tP, PostID=kLkKFu8Wo9AciTP

Connectez-vous pour répondre.