CheckBoxes As Custom Field in Documents & Files Module

Posted by Community Admin on 04-Aug-2018 09:21

CheckBoxes As Custom Field in Documents & Files Module

All Replies

Posted by Community Admin on 19-May-2011 00:00

Posted 4 minutes ago (permalink)

Hello

I want to create a custom filed of checkboxes in the document & files, Where I can check multiple values.

To do this I wrote some code and I got the check boxes list but i am unable to select multiple values or more than one values. On selecting more than one product I am getting this error on popup.
There was an error deserializing the object of type Telerik.Sitefinity.Web.Services.ContentItemContext`1[[Telerik.Sitefinity.Libraries.Model.Document, Telerik.Sitefinity.Model, Version=4.1.1339.0, Culture=neutral, PublicKeyToken=b28c218413bdf563]]. End element 'TEEST' from namespace '' expected. Found element 'item' from namespace ''.
I created a number of classes and a desinger(User control which I inherited from ChoiceField)


Images and Code is attached for the guidance.. Please help me as soon as posssible.

Thanks Alot.Hello

Idd want to creatddde a custom filedxx of checkboxes in the document & files, Where I can check multiple values.sfdsfdsfdsf

To do this I wrote some code and I got the check boxes list but i am unable to select multiple values or more than one values. On selecting more than one product I am getting this error on popup.
There was an error deserializing the object of type Telerik.Sitefinity.Web.Services.ContentItemContext`1[[Telerik.Sitefinity.Libraries.Model.Document, Telerik.Sitefinity.Model, Version=4.1.1339.0, Culture=neutral, PublicKeyToken=b28c218413bdf563]]. End element 'TEEST' from namespace '' expected. Found element 'item' from namespace ''.
I created a number of classes and a desinger(User control which I inherited from ChoiceField)


Images and Code is attached for the guidance.. Please help me as soon as posssible.

Thanks Alot.

Posted by Community Admin on 19-May-2011 00:00

Hello

I want to create a custom filed of checkboxes in the document & files, Where I can check multiple values.

To do this I wrote some code and I got the check boxes list but i am unable to select multiple values or more than one values. On selecting more than one product I am getting this error on popup.
There was an error deserializing the object of type Telerik.Sitefinity.Web.Services.ContentItemContext`1[[Telerik.Sitefinity.Libraries.Model.Document, Telerik.Sitefinity.Model, Version=4.1.1339.0, Culture=neutral, PublicKeyToken=b28c218413bdf563]]. End element 'TEEST' from namespace '' expected. Found element 'item' from namespace ''.
I created a number of classes and a desinger(User control which I inherited from ChoiceField)


Images and Code is attached for the guidance.. Please help me as soon as posssible.

Thanks Alot.


 


 


 


Posted by Community Admin on 19-May-2011 00:00

I am unable to upload my code thats why writing it here.
I created 3 classes and a control.

ProductCheckList.ascx
ProductCheckList.cs
SimplechklstFieldDefinition.cs
SimplechklstFieldElement.cs



ProductCheckList.ascx code is below

<%@ Control Language="C#" %>
<%@ Register Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Web.UI"
    TagPrefix="sf" %>
<sf:ConditionalTemplateContainer ID="conditionalTemplate" runat="server">
    <Templates>
        <sf:ConditionalTemplate ID="ConditionalTemplate2" Left="RenderChoicesAs" Operator="Equal"
            Right="CheckBoxes" runat="server">
            <sf:SitefinityLabel ID="titleLabel" runat="server" WrapperTagName="div" HideIfNoText="true"
                CssClass="sfTxtLbl" />
            <asp:CheckBoxList ID="checkBoxes" runat="server" RepeatLayout="Flow" CssClass="sfCheckListBox sfFieldWrp">
            </asp:CheckBoxList>
        </sf:ConditionalTemplate>
    </Templates>
</sf:ConditionalTemplateContainer>
<sf:SitefinityLabel ID="descriptionLabel" runat="server" WrapperTagName="div" HideIfNoText="true"
    CssClass="sfDescription" />
<sf:SitefinityLabel ID="exampleLabel" runat="server" WrapperTagName="div" HideIfNoText="true"
    CssClass="sfExample" />



ProductCheckList.cs code is below

namespace JPC.Common.Controls.OtherControls

    [FieldDefinitionElement(typeof(JPC.Common.Controls.OtherControls.SimplechklstFieldElement))]
    public class ChoiceCheckListFieldCustom : ChoiceField
   
        public ChoiceCheckListFieldCustom()
       
            this.RenderChoicesAs = Telerik.Sitefinity.Web.UI.Fields.Enums.RenderChoicesAs.CheckBoxes;
       


        protected override void CreateChildControls()
       
            Telerik.Sitefinity.Lists.Model.List Lst = App.WorkWith().Lists().Where(L => L.Title == "Product Lists").Get().FirstOrDefault();
            var IE = Lst.ListItems.Where(l => l.Status == Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live).OrderBy(o => o.Ordinal);
            string UrlProductList = string.Empty;
            ChoiceItem cii = new ChoiceItem() Text = "Please Select", Value = Guid.Empty.ToString() ;
            this.Choices.Add(cii);
            foreach (Telerik.Sitefinity.Lists.Model.ListItem Items in IE)
           
                var Link_ = GetUrl(Convert.ToString(Telerik.Sitefinity.Model.DataExtensions.GetValue(Items, "Link")));
                PageNode pg = App.WorkWith().Pages().LocatedIn(Telerik.Sitefinity.Fluent.Pages.PageLocation.Frontend).Where(p => p.GetUrl() == ("~" + Link_)).Get().FirstOrDefault();
                if (pg != null)
               
                    UrlProductList = pg.GetUrl();
                    foreach (PageNode P in pg.Nodes)
                   
                        if (P.ShowInNavigation)
                       
                            ChoiceItem ci = new ChoiceItem()
                           
                                Text = P.Title.ToString(),
                                Value = P.Id.ToString(),
                            ;
                            this.Choices.Add(ci);
                       
                   
               
           
            base.CreateChildControls();
       


        protected override string LayoutTemplateName
       
            get
           
                return ChoiceCheckListFieldCustom.layoutTempalte;
           
       
        public string GetUrl(string Url)
       
            try
           
                if (!string.IsNullOrEmpty(Url))
               
                    if (Url.Substring(Url.Length - 1, 1) == "/")
                        Url = Url.Substring(0, Url.Length - 1);
                    if (Url.Substring(0, 1) != "/")
                        Url = "/" + Url;
                    return Url;
               
           
            catch (Exception ex)
           
                Classes.BLL.ErrorLogging("Side Nav => " + ex.Message);
           
            return string.Empty;
       




        public override IEnumerable<System.Web.UI.ScriptDescriptor> GetScriptDescriptors()
       
            var descriptors = base.GetScriptDescriptors();


            var descriptor = (ScriptControlDescriptor)descriptors.Last();
            descriptor.Type = typeof(ChoiceField).FullName;


            return descriptors;
       


        private const string layoutTempalte = "JPC.Common.Controls.OtherControls.ProductCheckList.ascx";


   



SimplechklstFieldDefinition.cs code is below

namespace JPC.Common.Controls.OtherControls

    /// <summary>
    /// A control definition for the simple image field
    /// </summary>
    public class SimplechklstFieldDefinition : Telerik.Sitefinity.Web.UI.Fields.Definitions.ChoiceFieldDefinition
   
        /// <summary>
        /// Initializes a new instance of the <see cref="SimpleImageFieldDefinition"/> class.
        /// </summary>
        public SimplechklstFieldDefinition()
            : base()
       
       


        /// <summary>
        /// Initializes a new instance of the <see cref="SimpleImageFieldDefinition"/> class.
        /// </summary>
        /// <param name="element">The configuration element used to persist the control definition.</param>
        public SimplechklstFieldDefinition(ConfigElement element)
            : base(element)
       
       
   



SimplechklstFieldElement.cs code is below

namespace JPC.Common.Controls.OtherControls

    /// <summary>
    /// A configuration element used to persist the properties of <see cref="SimpleImageFieldDefinition"/>
    /// </summary>
    public class SimplechklstFieldElement : Telerik.Sitefinity.Web.UI.Fields.Config.ChoiceFieldElement
   
        /// <summary>
        /// Initializes a new instance of the <see cref="SimpleImageFieldElement"/> class.
        /// </summary>
        /// <param name="parent">The parent.</param>
        public SimplechklstFieldElement(ConfigElement parent)
            : base(parent)
        //Telerik.Sitefinity.Web.UI.Fields.Config.
       


        /// <summary>
        /// Gets an instance of the <see cref="SimpleImageFieldDefinition"/> class.
        /// </summary>
        /// <returns></returns>
        public override DefinitionBase GetDefinition()
       
            return new SimplechklstFieldDefinition(this);
       


   



Thanks In Advance! Hepl me plz

Thanks

Posted by Community Admin on 23-May-2011 00:00

Hello waqar,

Try creating a custom field of type ShortText. Then save the field and from the configuration replace the value of the default custom field of type ShortText with your custom one.

Regards,
Ivan Dimitrov
the Telerik team

Do you want to have your say in the Sitefinity development roadmap? Do you want to know when a feature you requested is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items

Posted by Community Admin on 23-May-2011 00:00

i am not getting :-(
Which configuration you are talking about?

This thread is closed