Я пытаюсь предоставить простой способ для наших пользователей выбрать желаемый способ доставки (например, ИБП), не зная, что это соответствует ShipmentMethodID. Есть три ключевых аспекта каждого shipmentmethod, что однозначно идентифицировать его:Использование взаимосвязанных списков для представления доступных комбинаций в Windows Form/Control
- Courier (например: UPS, FedEx, OurTruck, необходимо определить)
- Service (т.е. Ground, 2Day10am, необходимо определить)
- Billing (то есть: грузоотправитель, третья партия, Подлежит определению)
то, что я хотел бы, чтобы иметь ListBox для каждой из этих частей, так что пользователь может установить каждую часть по отдельности и содержание двух других списки будут меняться динамически.
Возьмем, например, следующие доступные способы доставки:
| 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
Если пользователь должны были указать Courier, скажем, к ИБП, то содержимое службы ListBox должен быть обновлен, чтобы показать, что, ТПО, Ground и 2Day10am доступны для этого курьера. Аналогично, в биллинге ListBox должны быть варианты для TBD, Shipper и 3rd Party. На самом деле, я бы все же смог отображать те службы, которые НЕ доступны для ИБП, но они неактивны, поэтому пользователь может сказать, что эти службы (в данном случае «3DayEOD» и «Internal») недоступны для их выбранную в настоящий момент услугу, но все еще имеют возможность ее выбирать. Если User DID выбирает одну из этих серых служб, то содержимое Courier ListBox будет соответствующим образом изменяться (ИБП больше не будет выбран, и TBD, вероятно, будет выбран вместо него).
Надеюсь, я достаточно ясно понимаю, чего я пытаюсь сделать здесь. Любой вход очень приветствуется!
hmmm ... Кажется, я понимаю, почему вы чувствуете, что это неуместный дизайн пользовательского интерфейса, но я по-прежнему чувствую, что моя концепция может быть гораздо удобнее для пользователя (а также компактна и мощна), чем просто использовать радиокнопочный подход. предлагают. –
Вы, конечно, имеете право полностью игнорировать советы незнакомца в Интернете. Ваш предложенный пользовательский интерфейс, однако, настолько полностью нестандартен, что вы действительно должны представить * оба подхода к своему клиенту (или коллегам), чтобы получить второе мнение. –
.. но ... но ... я не хочу их спрашивать! Они, вероятно, в конечном итоге хотят сделать это вместо этого! :п –