Comment puis-je créer des boîtes d'affichage dans une fenêtre modale en fonction de la sélection de la radioboxMon code est comme ci-dessous, il fonctionne bien si je clique sur les options 1 et 2 une par une, mais plusieurs zones de liste seraient générées après avoir cliqué continuellement sur l'option 1, ce qui rendrait mes utilisateurs confus. Comment puis-je optimiser le code ? Merci beaucoup.
Deux autres questions sont :
1. Si je supprime une zone de panneau, la zone encadrée (comme la zone de texte) sera-t-elle également supprimée ou ne sera-t-elle tout simplement pas affichée ?
2. Comment puis-je obtenir la hiérarchie d'une fenêtre modale ?
dt = Current Data Table();
If( Is Empty( dt ),
Stop(),
nc = N Col( dt )
);
openDTs = {};
For( i = 1, i <= N Table(), i++,
Insert Into( openDTs, Data Table( i ) << getname )
);
tableSelBox = Expr(
//Panel Box( "Select Limit Table",
lbtableSel = List Box( openDTs, width( 150 ), nlines( 6 ), maxselected( 1 ), ),
//),
);
nw = New Window( "Auto Plot",
modal,
hb = H List Box(
V List Box(
Panel Box( "Mode Selection",
Spacer Box( size( 100, 0 ) ),
rbMethod = Radio Box(
{"With Current Limit", "Without Current Limit"},
rbSel = rbMethod << get selected;
dbAfterpb = colSelLstBox << Next();
If( rbSel == "With Current Limit",
pb << Sib Append( tableSelBox ),
);
If( rbSel == "Without Current Limit",
dbAfterpb << Delete;
lbtableSel << Delete
),
),
),
Panel Box( "Action",
Spacer Box( size( 100, 0 ) ),
okBb = Button Box( "OK", Stop() ),
cancelBb = Button Box( "Cancel", Stop() ),
),
),
pb = Panel Box( "Select Columns",
colSelLstBox = Filter Col Selector( dt, nlines( Min( nc, 13 ) ) ),
),
pb << Sib Append( tableSelBox ),
),
);

Automatisation et scriptsRe : Comment puis-je créer des boîtes d'affichage dans une fenêtre modale en fonction de la sélection de la radioboxQue souhaiteriez-vous que l’utilisateur puisse faire ?
1. Si vous supprimez les objets Panel Box() à l'intérieur, ils doivent également être supprimés (utilisez << Supprimer la boîte sur votre boîte de panneau et essayez les résultats que vous obtenez des anciennes références à l'intérieur, ils ressemblent à DisplayBox[] au lieu de DisplayBox[ FilterColSelector] par exemple).
2. Quelle hiérarchie ? Si vous souhaitez voir l'arborescence ou les propriétés, la suppression temporaire du modal est l'option la plus simple.
Re : Comment puis-je créer des boîtes d'affichage dans une fenêtre modale en fonction de la sélection de la radioboxCe n'est peut-être que moi, mais il serait beaucoup plus facile de comprendre votre problème si vous pouviez partager une table appartenant à votre script.
Re : Comment puis-je créer des boîtes d'affichage dans une fenêtre modale en fonction de la sélection de la radioboxLorsque je clique sur l'option "Avec limite actuelle", une nouvelle zone de liste apparaîtra à droite du panneau "Sélectionner les colonnes", si je clique sur l'option "Sans limite actuelle", la zone de liste sera supprimée, si je clique sur l'option 1 - -> option 2 --> option 1 --> option 2, ça marche bien. Mais si je clique plusieurs fois sur l'option 1, plusieurs zones de liste apparaîtront, ce qui rendrait mon utilisateur confus. L'image ci-dessous montre que 4 zones de liste sont générées après avoir cliqué 4 fois sur « option 1 ».

Re : Comment puis-je créer des boîtes d'affichage dans une fenêtre modale en fonction de la sélection de la radioboxDésolé de vous avoir rendu confus. Le problème que j'ai rencontré n'est pas lié à certaines tables mais à une question de développement de l'interface utilisateur.
Je veux dire comment utiliser la boîte radio pour générer des boîtes d'affichage, comme lorsque vous cliquez sur l'option 1 pour générer une zone de liste A, l'option 2 consiste à générer une zone de liste B, l'option 3 ne fait rien. De plus, si je clique sur l'option 1 puis sur l'option 2, la zone de liste A sera supprimée et une nouvelle zone de liste B apparaîtra.
Dans mon code, tout fonctionne bien si je clique sur l'option 1 --> option 2 --> option 1 --> option 2.... mais si je clique plusieurs fois sur option1, plusieurs zones de liste apparaîtront, cela rendrait mon utilisateur confus, voici l'image ci-dessous montre que 4 zones de liste sont générées après avoir cliqué 4 fois sur « option 1 ».

Re : Comment puis-je créer des boîtes d'affichage dans une fenêtre modale en fonction de la sélection de la radioboxVous pouvez peut-être ajouter une vérification supplémentaire lorsque With Current Limit est l'option permettant de vérifier si lbtableSel est vide.
If(rbSel == "With Current Limit" & is empty(lbtableSel),
Re : Comment puis-je créer des boîtes d'affichage dans une fenêtre modale en fonction de la sélection de la radioboxMerci, votre code fonctionne bien en mode non modal.
En mode modal, si je clique sur l'option 1 -> option 2 -> option 1, la zone de liste ne s'affichera pas, mais lorsque j'ai essayé l'option supplémentaire 2 -> option 1, elle apparaît ! Sur la base de mon enquête, j'ai découvert qu'il semble y avoir une zone de liste non visible derrière le panneau colSelLstBox, je ne peux pas l'appeler et la supprimer, mais après que l'option 2 ait été utilisée 2 fois, elle sera finalement supprimée, donc l'option 1 peut fonctionner. Si intéressant....
Ma solution finale en mode modal est d'ajouter une boîte d'espacement de taille (0,0) pour que je puisse en obtenir le gestionnaire, juger si elle existe, la supprimer ou la générer.