/// <summary> /// Loads field types. /// </summary> /// <param name="type">Control type specifying which field types to load</param> public void LoadFieldTypes(FormUserControlTypeEnum type) { string selectedValue = drpFieldType.SelectedValue; FieldEditorControlsEnum controls = GetDisplayedControls(); // Clear list bool isPrimary = false; if (this.FieldInfo != null) { isPrimary = this.FieldInfo.PrimaryKey; } drpFieldType.Items.Clear(); drpFieldType.DataTextField = "UserControlDisplayName"; drpFieldType.DataValueField = "UserControlCodeName"; drpFieldType.DataSource = FormHelper.GetFieldControlTypesWithUserControls(null, controls, true, isPrimary, type); drpFieldType.DataBind(); // Add trackback controls when editing CMS.BlogPost document type if ((controls == FieldEditorControlsEnum.DocumentTypes) && (ClassName.ToLower() == "cms.blogpost")) { drpFieldType.Items.Add(new ListItem("Trackbacks - pinged URLs", "#uc#trackbackspingedurls")); drpFieldType.Items.Add(new ListItem("Trackbacks - not pinged URLs", "#uc#trackbacksnotpingedurls")); } // And set field value (if set before) if (drpFieldType.Items.FindByValue(selectedValue) != null) { drpFieldType.SelectedValue = selectedValue; } }
/// <summary> /// Fill field types list. /// </summary> /// <param name="isPrimary">Determines whether the attribute is primary key</param> /// <param name="type">Control type</param> public void LoadFieldTypes(bool isPrimary, FormUserControlTypeEnum type, bool clearValue) { FieldEditorControlsEnum controls = GetControls(); string selectedValue = drpField.SelectedValue; // Clear list drpField.Items.Clear(); drpField.ClearSelection(); drpField.SelectedValue = null; drpField.DataTextField = "UserControlDisplayName"; drpField.DataValueField = "UserControlCodeName"; DataSet ds = FormHelper.GetFieldControlTypesWithUserControls(this.AttributeType, controls, false, isPrimary, type); if ((controls != FieldEditorControlsEnum.DocumentTypes) || (ClassName.ToLower() != "cms.blogpost")) { List <DataRow> rowList = new List <DataRow>(); // Find trackback controls when not editing CMS.BlogPost document type foreach (DataRow row in ds.Tables[0].Rows) { string controlCodeName = row[drpField.DataValueField].ToString().ToLowerInvariant(); if ((controlCodeName == "trackbackspingedurls") || (controlCodeName == "trackbacksnotpingedurls")) { rowList.Add(row); } } // Remove trackback controls when not editing CMS.BlogPost document type foreach (DataRow row in rowList) { ds.Tables[0].Rows.Remove(row); } } drpField.DataSource = ds; drpField.DataBind(); // Preselect value if ((drpField.Items.FindByValue(selectedValue) != null) && !clearValue) { drpField.SelectedValue = selectedValue; } }
/// <summary> /// Fill field types list. /// </summary> /// <param name="isPrimary">Determines whether the attribute is primary key</param> /// <param name="type">Control type</param> public void LoadFieldTypes(bool isPrimary, FormUserControlTypeEnum type, bool clearValue) { FieldEditorControlsEnum controls = GetControls(); string selectedValue = drpField.SelectedValue; // Clear list drpField.Items.Clear(); drpField.ClearSelection(); drpField.SelectedValue = null; drpField.DataTextField = "UserControlDisplayName"; drpField.DataValueField = "UserControlCodeName"; DataSet ds = FormHelper.GetFieldControlTypesWithUserControls(this.AttributeType, controls, false, isPrimary, type); if ((controls != FieldEditorControlsEnum.DocumentTypes) || (ClassName.ToLower() != "cms.blogpost")) { List<DataRow> rowList = new List<DataRow>(); // Find trackback controls when not editing CMS.BlogPost document type foreach (DataRow row in ds.Tables[0].Rows) { string controlCodeName = row[drpField.DataValueField].ToString().ToLowerInvariant(); if ((controlCodeName == "trackbackspingedurls") || (controlCodeName == "trackbacksnotpingedurls")) { rowList.Add(row); } } // Remove trackback controls when not editing CMS.BlogPost document type foreach (DataRow row in rowList) { ds.Tables[0].Rows.Remove(row); } } drpField.DataSource = ds; drpField.DataBind(); // Preselect value if ((drpField.Items.FindByValue(selectedValue) != null) && !clearValue) { drpField.SelectedValue = selectedValue; } }
/// <summary> /// Loads field types. /// </summary> /// <param name="type">Control type specifying which field types to load</param> public void LoadFieldTypes(FormUserControlTypeEnum type) { string selectedValue = drpFieldType.SelectedValue; FieldEditorControlsEnum controls = GetDisplayedControls(); // Clear list bool isPrimary = false; if (this.FieldInfo != null) { isPrimary = this.FieldInfo.PrimaryKey; } drpFieldType.Items.Clear(); drpFieldType.DataTextField = "UserControlDisplayName"; drpFieldType.DataValueField = "UserControlCodeName"; drpFieldType.DataSource = FormHelper.GetFieldControlTypesWithUserControls(null, controls, true, isPrimary, type); drpFieldType.DataBind(); // Add trackback controls when editing CMS.BlogPost document type if ((controls == FieldEditorControlsEnum.DocumentTypes) && (ClassName.ToLower() == "cms.blogpost")) { drpFieldType.Items.Add(new ListItem("Trackbacks - pinged URLs", "#uc#trackbackspingedurls")); drpFieldType.Items.Add(new ListItem("Trackbacks - not pinged URLs", "#uc#trackbacksnotpingedurls")); } // And set field value (if set before) if (drpFieldType.Items.FindByValue(selectedValue) != null) { drpFieldType.SelectedValue = selectedValue; } }