You've already forked linux-packaging-mono
Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
parent
a569aebcfd
commit
e79aa3c0ed
@@ -0,0 +1,123 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <copyright file="TemplatePagerField.cs" company="Microsoft">
|
||||
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
// </copyright>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
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() {
|
||||
}
|
||||
|
||||
/// <devdoc>
|
||||
/// Indicates the list of event handler delegates for the view. This property is read-only.
|
||||
/// </devdoc>
|
||||
private EventHandlerList Events {
|
||||
get {
|
||||
if (_events == null) {
|
||||
_events = new EventHandlerList();
|
||||
}
|
||||
return _events;
|
||||
}
|
||||
}
|
||||
|
||||
/// <devdoc>
|
||||
/// <para> Specifies the <see cref='System.Web.UI.ITemplate' qualify='true'/> that defines how items are rendered. </para>
|
||||
/// </devdoc>
|
||||
[
|
||||
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<DataPagerCommandEventArgs> 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);
|
||||
}
|
||||
}
|
||||
|
||||
/// <devdoc>
|
||||
/// <para>Raises the <see cref='System.Web.UI.WebControls.ListView.TotalRowCountAvailable'/>event of a <see cref='System.Web.UI.WebControls.ListView'/>.</para>
|
||||
/// </devdoc>
|
||||
[SuppressMessage("Microsoft.Security", "CA2109:ReviewVisibleEventHandlers", MessageId = "0#")]
|
||||
protected virtual void OnPagerCommand(DataPagerCommandEventArgs e) {
|
||||
EventHandler<DataPagerCommandEventArgs> handler = (EventHandler<DataPagerCommandEventArgs>)Events[EventPagerCommand];
|
||||
if (handler != null) {
|
||||
handler(this, e);
|
||||
}
|
||||
else {
|
||||
throw new InvalidOperationException(String.Format(CultureInfo.CurrentCulture, AtlasWeb.TemplatePagerField_UnhandledEvent, "PagerCommand"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user