I'm trying to provide a simple way for our users to select a desired shipment method (ie: UPS ground) without having to know it's corresponding ShipmentMethodID. There are three key aspects of every shipmentmethod that uniquely identify it:
- Courier (ie: UPS, FedEx, OurTruck, To Be Determined)
- Service (ie: Ground, 2Day10am, To Be Determined)
- Billing (ie: Shipper, 3rd Party, To Be Determined)
What I would like is to have a listbox for each of these pieces so that the user can set each part individually and the contents of the other two listboxes would change dynamically.
Take for instance the following available Shipment methods:
| 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
If the user were to specify the Courier, say to UPS, then the contents of the Service ListBox should be updated to show that, TBD, Ground and 2Day10am are available for this courier. Likewise, the Billing ListBox should have options for TBD, Shipper, and 3rd Party. In reality, I'd like to still be able to display those Services that are NOT available for UPS but have them grayed out so the user can tell that these services (in this case "3DayEOD" and "Internal") are not available for their currently selected service, but still have the ability to select it. If the User DID select one of these grayed out Services, then the contents of the Courier ListBox would change accordingly (UPS would no longer be selected and TBD would probably get selected instead).
I hope I'm being clear enough in what I am trying to accomplish here. Any input is greatly appreciated!