TemplatePagerField.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / UI / WebControls / TemplatePagerField.cs / 1305376 / TemplatePagerField.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

using System; 
using System.ComponentModel; 
using System.Diagnostics.CodeAnalysis;
using System.Globalization; 
using System.Web;
using System.Web.Resources;
using System.Web.UI;
 
namespace System.Web.UI.WebControls {
    public class TemplatePagerField : DataPagerField { 
        private int _startRowIndex; 
        private int _maximumRows;
        private int _totalRowCount; 
        private ITemplate _pagerTemplate;

        private static readonly object EventPagerCommand = new object();
        private EventHandlerList _events; 

        public TemplatePagerField() { 
        } 

        ///  
        /// Indicates the list of event handler delegates for the view. This property is read-only.
        /// 
        private EventHandlerList Events {
            get { 
                if (_events == null) {
                    _events = new EventHandlerList(); 
                } 
                return _events;
            } 
        }

        /// 
        ///  Specifies the  that defines how items are rendered.  
        /// 
        [ 
            Browsable(false), 
            DefaultValue(null),
            ResourceDescription("TemplatePagerField_PagerTemplate"), 
            PersistenceMode(PersistenceMode.InnerProperty),
            TemplateContainer(typeof(DataPagerFieldItem), BindingDirection.TwoWay)
        ]
        public virtual ITemplate PagerTemplate { 
            get {
                return _pagerTemplate; 
            } 
            set {
                _pagerTemplate = value; 
                OnFieldChanged();
            }
        }
 
        [
        Category("Action"), 
        ResourceDescription("TemplatePagerField_OnPagerCommand") 
        ]
        public event EventHandler PagerCommand { 
            add {
                Events.AddHandler(EventPagerCommand, value);
            }
            remove { 
                Events.RemoveHandler(EventPagerCommand, value);
            } 
        } 

        protected override void CopyProperties(DataPagerField newField) { 
            ((TemplatePagerField)newField).PagerTemplate = PagerTemplate;
            base.CopyProperties(newField);
        }
 
        protected override DataPagerField CreateField() {
            return new TemplatePagerField(); 
        } 

        [SuppressMessage("Microsoft.Security", "CA2109:ReviewVisibleEventHandlers", MessageId = "0#")] 
        public override void HandleEvent(CommandEventArgs e) {
            DataPagerFieldItem item = null;
            DataPagerFieldCommandEventArgs cea = e as DataPagerFieldCommandEventArgs;
            if (cea != null) { 
                item = cea.Item;
            } 
 
            DataPagerCommandEventArgs pagerEventArgs = new DataPagerCommandEventArgs(this, _totalRowCount, e, item);
            OnPagerCommand(pagerEventArgs); 

            if (pagerEventArgs.NewStartRowIndex != -1) {
                DataPager.SetPageProperties(pagerEventArgs.NewStartRowIndex, pagerEventArgs.NewMaximumRows, true);
            } 

        } 
 
        public override void CreateDataPagers(DataPagerFieldItem container, int startRowIndex, int maximumRows, int totalRowCount, int fieldIndex) {
            _startRowIndex = startRowIndex; 
            _maximumRows = maximumRows;
            _totalRowCount = totalRowCount;

            if (_pagerTemplate != null) { 
                _pagerTemplate.InstantiateIn(container);
            } 
        } 

        ///  
        /// Raises the event of a .
        /// 
        [SuppressMessage("Microsoft.Security", "CA2109:ReviewVisibleEventHandlers", MessageId = "0#")]
        protected virtual void OnPagerCommand(DataPagerCommandEventArgs e) { 
            EventHandler handler = (EventHandler)Events[EventPagerCommand];
            if (handler != null) { 
                handler(this, e); 
            }
            else { 
                throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, AtlasWeb.TemplatePagerField_UnhandledEvent, "PagerCommand"));
            }
        }
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK