/// <summary> /// Runs the field editor. /// </summary> protected void OnRunFieldEditor() { var args = ContinuationManager.Current.CurrentArgs as ClientPipelineArgs; Assert.IsNotNull(args, "args"); if (args.IsPostBack) { if (args.HasResult) { string result = args.Result; if (result == "-") { return; } this.SaveInfo(this.ActiveField.Value); this.Info.AddRange(this.Metadata.GetAttributesByNames(result.Split('|'))); this.FieldsTree.LoadFromCrmEntry(this.Info); var field = this.Info.Fields.Where(f => !f.Disabled).Last(); if (field != null) { this.ActiveField.Value = field.Name; TreeViewExtensions.Select(this.FieldsTree, field.Name); } this.UpdateSettings(this.ActiveField.Value, true); this.SaveInfo(this.ActiveField.Value); AjaxScriptManager.Current.SetInnerHtml(this.TreeViewBorder.ID, this.FieldsTree); } } else { this.SaveInfo(this.ActiveField.Value); var urlString = new UrlString(UIUtil.GetUri("control:Forms.SelectFields")); var handle = new UrlHandle(); handle["values"] = ParametersUtil.NameValueCollectionToXml(this.GetListOfAvailableFields(), true); handle["title"] = ResourceManager.Localize("SELECT_FIELDS"); handle["text"] = ResourceManager.Localize("SELECT_FIELDS_DETAILED"); handle.Add(urlString); SheerResponse.ShowModalDialog( urlString.ToString(), string.Empty, string.Empty, ResourceManager.Localize("SELECT_FIELDS_FOR_EXPORT"), true); args.WaitForPostBack(); } }
protected override void OnOK(object sender, EventArgs args) { var updatedParameters = ParametersUtil.NameValueCollectionToXml(this.Parameters); if (string.IsNullOrEmpty(updatedParameters)) { updatedParameters = "-"; } this.SheerService.SetDialogValue(updatedParameters); base.OnOK(sender, args); }