public BizComboBox CreateComboBox(Combo_Box combo, DocDef def) { var result = new BizComboBox(); AddChildren(result, combo, def); InitComboBox(result, combo, def); return(result); }
private void InitComboBox(BizComboBox control, Combo_Box controlData, DocDef def) { AttrDef attrDef = null; if (def != null) { if (controlData.Attribute_Id != null) { attrDef = def.Attributes.FirstOrDefault(a => a.Id == controlData.Attribute_Id); } if (attrDef == null && controlData.Attribute_Name != null) { attrDef = def.Attributes.FirstOrDefault(a => String.Equals(a.Name, controlData.Attribute_Name, StringComparison.OrdinalIgnoreCase)); } } control.Rows = controlData.Rows ?? 0; control.IsRadio = controlData.Is_Radio ?? false; if (attrDef != null) { control.AttributeDefId = attrDef.Id; control.AttributeName = attrDef.Name; } else { var attrName = controlData.Attribute_Name ?? String.Empty; SystemIdent attrIdent; if (SystemIdentConverter.TryConvert(attrName, out attrIdent)) { control.Ident = attrIdent; control.AttributeName = attrName; //InitComboBox(control, attrIdent); } } control.DetailAttributeId = controlData.Detail_Attribute_Id; control.DetailAttributeName = controlData.Detail_Attribute_Name; /*if (attrDef != null) * { * //if (!controlData.Attribute_DefsReference.IsLoaded) controlData.Attribute_DefsReference.Load(); * * InitComboBox(control, attrDef /*controlData.Attribute_Defs#1#); * } */ InitControl(control, controlData); // AddQueryItems(control, controlData); // Вызывает ошибку дублирования QueryItems }