2010-07-27 2 views
1

J'essaie de fournir à nos utilisateurs un moyen simple de sélectionner une méthode d'expédition souhaitée (par exemple: mise à la terre de l'onduleur) sans avoir à connaître le ShipmentMethodID correspondant. Il y a trois aspects clés de chaque shipmentmethod qui identifient de manière unique:Utilisation de listes déroulantes interdépendantes pour représenter les combinaisons disponibles dans Windows Form/Control

  1. Courier (par exemple: UPS, FedEx, OurTruck, à déterminer)
  2. Service (ex: au sol, 2Day10am, à déterminer)
  3. facturation (ex: Expéditeur, 3rd Party, à définir)

ce que je voudrais est d'avoir une zone de liste pour chacune de ces pièces afin que l'utilisateur peut définir chaque partie individuellement et le contenu des deux autres Les listboxes changeraient dynamiquement.

Prenez par exemple les méthodes disponibles de port suivants:

| SMID | COURIER | SERVICE | BILLING | 
+=============================================+ 
    ?-???-?? TBD  TBD   TBD 
    ?-???-SH TBD  TBD   Shipper 
    ?-???-3P TBD  TBD   3rdParty 
    ?-D55-?? TBD  Ground  TBD 
    ?-D55-SH TBD  Ground  Shipper 
    ?-D55-3P TBD  Ground  3rdParty 
    U-???-?? UPS  TBD   TBD 
    U-???-SH UPS  TBD   Shipper 
    U-???-3P UPS  TBD   3rdParty 
    U-D55-?? UPS  Ground  TBD 
    U-D55-SH UPS  Ground  Shipper 
    U-D55-3P UPS  Ground  3rdParty 
    U-D2A-?? UPS  2Day10am TBD 
    U-D2A-SH UPS  2Day10am Shipper 
    U-D2A-3P UPS  2Day10am 3rdParty 
    F-???-?? FedEx  TBD   TBD 
    F-???-SH FedEx  TBD   Shipper 
    F-???-3P FedEx  TBD   3rdParty 
    F-D55-?? FedEx  Ground  TBD 
    F-D55-SH FedEx  Ground  Shipper 
    F-D55-3P FedEx  Ground  3rdParty 
    F-D35-?? FedEx  3DayEOD  TBD 
    F-D35-SH FedEx  3DayEOD  Shipper 
    F-D35-3P FedEx  3DayEOD  3rdParty 
    O-???-SH OurTruck TBD   Shipper 
    O-D55-SH OurTruck Ground  Shipper 
    O-INT-SH OurTruck Internal Shipper 

Si l'utilisateur devait spécifier le Courrier, dit à UPS, le contenu du ListBox service devrait être mis à jour pour montrer que, à déterminer, au sol et 2Day10am sont disponibles pour ce courrier. De même, Billing ListBox doit avoir des options pour TBD, Shipper et 3rd Party. En réalité, j'aimerais toujours pouvoir afficher les services qui ne sont pas disponibles pour UPS, mais les faire griser afin que l'utilisateur puisse dire que ces services (dans ce cas, "3DayEOD" et "Internal") ne sont pas disponibles pour leur service actuellement sélectionné, mais ont toujours la possibilité de le sélectionner. Si l'utilisateur a choisi l'un de ces services grisés, le contenu de Courier ListBox changera en conséquence (UPS ne sera plus sélectionné et TBD sera probablement sélectionné à la place).

J'espère que je suis assez clair dans ce que j'essaye d'accomplir ici. Toute contribution est grandement appréciée!

Répondre

1

Cette conception d'interface utilisateur n'est pas appropriée. Présenter des choix comme celui-ci nécessite des boutons radio. Vous pouvez désactiver ou masquer les choix dans une autre zone de groupe s'ils ne sont pas disponibles en raison d'une sélection antérieure.

+0

hmmm ... Je pense que je vois pourquoi vous pensez que cette conception d'interface utilisateur est inappropriée, mais j'ai toujours l'impression que mon concept pourrait être beaucoup plus convivial (ainsi que compact et puissant) que d'utiliser le bouton radio suggèrent. –

+0

Vous avez bien sûr le droit d'ignorer complètement les conseils d'un étranger sur Internet. Votre interface utilisateur proposée est cependant si complètement non standard que vous devriez vraiment présenter * deux * approches à votre client (ou collègues) pour obtenir une deuxième opinion. –

+0

.. mais ... mais ... je ne veux pas leur demander! Ils vont probablement finir par vouloir faire votre chemin à la place! : p –