/// <summary> /// Handles the Init event /// </summary> /// <param name="e">An <see cref="T:System.EventArgs"/> object that contains the event data.</param> protected override void OnInit(EventArgs e) { base.OnInit(e); this.Page.EnableEventValidation = false; this.InitEditModeList(); this.InitUseValueFromList(); if (this.Info.IsEmpty && string.IsNullOrEmpty(this.Page.Request.Form[this.ActiveField.Name])) { this.InitFieldsList(); this.InitPreviousActionList(); this.FillEntityList(); this.Info = XCrmEntry.Parse(this.FixXmlFromCrm(this.GetValueByKey("CrmEntityInfo", string.Empty))); if (this.EntityList != null) { this.EntityList.Select(this.Info.EntityName); } if (this.UpdateFieldsIfContainValue != null) { this.UpdateFieldsIfContainValue.Checked = this.Info.OverwriteNotEmptyField; } this.FillAudit(this.AuditField, this.Info.Audit); this.SaveInfo(null); this.Info.Merge(this.Metadata); if (this.UpdateFieldsIfContainValue != null) { this.UpdateFieldsIfContainValue.Checked = this.Info.OverwriteNotEmptyField; } } else { this.SettingsBorder.Visible = false; } this.FieldsTree.LoadFromCrmEntry(this.Info); this.FieldsTree.ClientEvents.NodeSelect = new ClientEvent("FieldsTree_onNodeSelect"); }
/// <summary> /// Loads from CRM entry. /// </summary> /// <param name="treeview">The treeview.</param> /// <param name="entry">The entry.</param> internal static void LoadFromCrmEntry(this TreeView treeview, XCrmEntry entry) { treeview.Nodes.Clear(); var root = treeview.GetRequiredRootNode(); treeview.Nodes.Add(root); root.AddNodes(entry.RequiredFields); root.Nodes.Sort("Text", false); var entries = entry.AdditionalFields; if (entries.Count() > 0) { root = treeview.GetAdditionalRootNode(); treeview.Nodes.Add(root); root.AddNodes(entries); } }