Добрый день!
Пытаюсь добавить SelectedValues в LookupEdit с помощью метода .AddValues(), но получаю ошибку:
Exception Message: Unsupported type: System.Guid. Use the JsonSerializer class to get the object's JSON representation.
Exception Type: System.ArgumentException
Exception Source: Newtonsoft.Json
Exception Stack Trace:
at Newtonsoft.Json.JsonWriter.WriteValue(Object value)
at Terrasoft.UI.WebControls.Utilities.Json.Converters.LookupSelectedValuesJsonConverter.WriteJson(JsonWriter writer, Object value, JsonSerializer serializer)
at Terrasoft.UI.WebControls.ClientConfig.ToExtConfig(PropertyInfo property, ClientConfigAttribute attr, Object objValue, Object defValue)
at Terrasoft.UI.WebControls.ClientConfig.Process(Object obj)
Кусок кода, вызывающий ошибку:
Dictionary LoadedSelectedValues = new Dictionary();
LoadedSelectedValues.Add(accountColumnName, text);
LoadedSelectedValues.Add("schemaUId", schemaUId);
Page.LookupEditSprRiskPremium.AddSelectedValue(riskRationaleId.ToString(), LoadedSelectedValues);
Terrasoft BPM 5.2.660
Нравится
Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу.
Что записывается в accountColumnName?
У меня работает такое:
[csharp]
var entitySchema = userConnection.EntitySchemaManager.GetInstanceByUId(schemaUId);
string primaryDisplayColumnName = entitySchema.GetPrimaryDisplayColumnName();
foreach (Entity entity in entityCollection)
{
Guid entityId = entity.GetTypedColumnValue(entityIdColumnName);
string entityName = entity.GetTypedColumnValue(entityNameColumnName);
Dictionary values = new Dictionary();
values.Add(primaryDisplayColumnName, entityName);
values.Add("schemaUId", schemaUId);
multiLookupEdit.SelectedValues.Add(entityId.ToString(), values);
}
[/csharp]
Обратите внимание на тип переменной values, дело может быть в ней.