コード例 #1
0
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Replace comma with correct delimiter in MultiValueDropDownBox. Translate full names
        /// of persons into strings acceptable to show in UI (use "code" instead of Full Name
        /// when available).
        /// </summary>
        /// ------------------------------------------------------------------------------------
        private void HandleBinderTranslateBoundValueBeingRetrieved(object sender,
                                                                   TranslateBoundValueBeingRetrievedArgs args)
        {
            if (!(args.BoundControl is MultiValueDropDownBox))
            {
                return;
            }

            if (args.ValueFromFile.Contains(","))
            {
                args.TranslatedValue = args.ValueFromFile.Replace(",", FieldInstance.kDefaultMultiValueDelimiter.ToString(CultureInfo.InvariantCulture));
            }

            if (args.BoundControl == _participants)
            {
                var val = args.TranslatedValue ?? args.ValueFromFile;
                if (!string.IsNullOrEmpty(val))
                {
                    var participantNames = FieldInstance.GetMultipleValuesFromText(val).ToArray();
                    for (int index = 0; index < participantNames.Length; index++)
                    {
                        participantNames[index] = _personInformant.GetUiIdByName(participantNames[index]);
                    }

                    args.TranslatedValue = FieldInstance.GetTextFromMultipleValues(participantNames);
                }
            }
        }