protected void SaveCustomDisplay(object sender, EventArgs e) { _fieldProperties = new Dictionary <string, Dictionary <string, string> >(); foreach (string field in _hiddenFields.Keys) { _fieldProperties.Add(field, new Dictionary <string, string>()); foreach (string mode in _hiddenFields[field].Keys) { _fieldProperties[field].Add(mode, HttpContext.Current.Request.Params[_hiddenFields[field][mode]]); } } if ( !CurrentList.ParentWeb.Properties.ContainsKey(String.Format("DisplaySetting{0}", CurrentList.ID))) { CurrentList.ParentWeb.Properties.Add(String.Format("DisplaySetting{0}", CurrentList.ID), SPSWebPropertiesHelper.Encode(_fieldProperties)); } else { CurrentList.ParentWeb.Properties[String.Format("DisplaySetting{0}", CurrentList.ID)] = SPSWebPropertiesHelper.Encode(_fieldProperties); } CurrentList.ParentWeb.Properties.Update(); SPUtility.Redirect(string.Format("listedit.aspx?List={0}", CurrentList.ID), SPRedirectFlags.RelativeToLayoutsPage, HttpContext.Current); //Server.Transfer(string.Format("~/_layouts/listedit.aspx?List={0}", CurrentList.ID), true); }
protected override void OnLoad(EventArgs e) { Title = "Administrate Form Fields"; if ( CurrentList.ParentWeb.Properties.ContainsKey(String.Format("DisplaySetting{0}", CurrentList.ID))) { _fieldProperties = SPSWebPropertiesHelper.Decode( CurrentList.ParentWeb.Properties[String.Format("DisplaySetting{0}", CurrentList.ID)]); } // récupération de la liste des champs affichables et des settings dejà défini foreach (SPField field in CurrentList.Fields) { if ((field.Reorderable)) { _displayableFields.Add(field); } } // Récupération des groups foreach (SPGroup group in CurrentList.ParentWeb.Groups) { _groups.Add(group); } _pageRender = PrepareRenderPage(); RegisterScript(); Cancel.PostBackUrl = string.Format("~/_layouts/listedit.aspx?List={0}", CurrentList.ID); }
protected override bool IsFieldExcluded(SPField field) { if (CheckIfFeatureIsEnabled()) { string key = String.Format("DisplaySetting{0}", SPContext.Current.List.ID); if (SPContext.Current.List.ParentWeb.Properties.ContainsKey(key)) { var fieldProperties = SPSWebPropertiesHelper.Decode( SPContext.Current.List.ParentWeb.Properties[key]); string displaySettings; if (!fieldProperties.ContainsKey(field.InternalName)) { return(base.IsFieldExcluded(field)); } switch (SPContext.Current.FormContext.FormMode) { case SPControlMode.Display: { displaySettings = fieldProperties[field.InternalName]["Display"]; GetAttributes(displaySettings); return(NecesaryRender(field)); } case SPControlMode.Edit: { displaySettings = fieldProperties[field.InternalName]["Edit"]; GetAttributes(displaySettings); return(NecesaryRender(field)); } case SPControlMode.New: { if (!fieldProperties[field.InternalName].ContainsKey("New")) { return(base.IsFieldExcluded(field)); } displaySettings = fieldProperties[field.InternalName]["New"]; GetAttributes(displaySettings); return(NecesaryRender(field)); } default: return(base.IsFieldExcluded(field)); } } return(base.IsFieldExcluded(field)); } return(base.IsFieldExcluded(field)); }