Add a grouping template to a ASP:Repeater that displays after any header template

I have sub classed a asp repeater similar to A Grouping Repeater All works fine apart from if I also have a <HeaderTemplate> </HeaderTemplate> The grouping template is rendered before the header template.

I would really like to either be able to choose the order in which the templates are rendered or just have the <GroupTemplate> Rendered after the header.

Answers


Did you try the simplier one? we cant evaluate you bug, if we cant see the code that you re running. Please post examples.

The simplier one from the comments:

using System;
using System.Data;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;


    /// <summary> 
    /// This wraps the Web Repeater class and adds grouping capabilities.
    /// </summary> 
    public class GroupingRepeater : Repeater
    {

        private string _lastGroup;
        private string _groupColumn;
        private ITemplate _groupTemplate;

        /// <summary> 
        /// Gets or sets the column to group by.
        /// </summary> 
        [Browsable(true), Category("Behaviour")]
        public string GroupColumn
        {
            get { return _groupColumn; }
            set { _groupColumn = value; }
        }

        /// <summary> 
        /// Gets or sets the template used for Grouping.
        /// </summary> 
        [PersistenceMode(PersistenceMode.InnerProperty)]
        [Browsable(false)]
        [TemplateContainer(typeof(RepeaterItem))]
        [DefaultValue("")]
        public virtual ITemplate GroupTemplate
        {
            get { return _groupTemplate; }
            set { _groupTemplate = value; }
        }

        /// <summary> 
        /// Default constructor.
        /// </summary> 
        public GroupingRepeater()
        {
            _lastGroup = null;
        }

        /// <summary> 
        /// Called when an item is created.
        /// </summary> 
        /// <param name="e"></param> 
        protected override void OnItemCreated(RepeaterItemEventArgs e)
        {
            base.OnItemCreated(e);

            if (!string.IsNullOrEmpty(GroupColumn))
            {
                string currentGroup = e.Item.DataItem.GetType().GetProperty(GroupColumn).GetValue(e.Item.DataItem, null).ToString();
                if (_lastGroup == null || _lastGroup != currentGroup)
                {
                    RepeaterItem item = new RepeaterItem(0, ListItemType.Item);

                    GroupTemplate.InstantiateIn(item);
                    item.DataItem = e.Item.DataItem;
                    this.Controls.Add(item);
                    item.DataBind();

                    _lastGroup = currentGroup;
                }
            }
        }

    }

Need Your Help

SAP JAVA issue with package installation

java sap

I want to create a communication between my Java web application and SAP. I used Java Connector and have put it in library and class path. But when I try to import the package

Java -cp class not found

java classpath

java -server -Xmx2G -cp config:./* l2p.loginserver.LoginServer