private void DetailEditDialog_Store(object sender, CustomFieldEdit.EventArguments e) { foreach (RowControl r in rows) { if (r.Edit.ClientID != e.State.Get("@Sender", string.Empty)) continue; BXParamsBag<object> state = e.State; state.Remove("@Sender"); string locKey = "Loc." + BXLoc.CurrentLocale; r.Name.Text = (state.Get<string[]>(locKey) ?? new string[1] { string.Empty })[0]; r.Active.Checked = state.Get("ShowInList", true); r.Multiple.Checked = state.Get("Multiple", false); r.Sort.Text = state.Get("Sort", ""); if (r.Code.Visible) r.Code.Text = state.Get("FieldName", ""); if (r.Type.Visible) r.Type.SelectedValue = state.Get("CustomTypeId", "Bitrix.System.Text"); r.Store(state); Fields.Update(); break; } }
protected void Page_Load(object sender, EventArgs e) { DetailEditDialog = (CustomFieldEdit)LoadControl("~/bitrix/controls/Main/CustomFieldEdit.ascx"); (DialogPlaceholder ?? DP).Controls.Add(DetailEditDialog); int quantity = 0; foreach (BXCustomField field in BXCustomEntityManager.GetFields(EntityId)) { quantity++; AddField(field, quantity); } for (int i = 0; i < 5; i++) AddField(null, quantity + 1 + i); DeleteHeader.Visible = AllowDelete; GenerateIds(); AssignTriggers(); DetailEditDialog.Store += DetailEditDialog_Store; }