Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / UI / WebControls / QueryableDataSource.cs / 1305376 / QueryableDataSource.cs
#if ORYX_VNEXT namespace Microsoft.Web.Data.UI.WebControls { #else namespace System.Web.UI.WebControls { #endif using System; using System.Collections; using System.Collections.ObjectModel; using System.ComponentModel; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.Resources; using System.Diagnostics.CodeAnalysis; using System.Globalization; #if ORYX_VNEXT using Microsoft.Web.Data.UI.WebControls.Expressions; using System.Web; #else using System.Web.UI.WebControls.Expressions; #endif [ ParseChildren(true), PersistChildren(false) ] public abstract class QueryableDataSource : DataSourceControl, IQueryableDataSource { private const string DefaultViewName = "DefaultView"; private ReadOnlyCollection_viewNames; private QueryableDataSourceView _view; #if !ORYX_VNEXT private readonly new IPage _page; #else private readonly IPage _page; #endif internal QueryableDataSource(IPage page) { _page = page; } internal QueryableDataSource(QueryableDataSourceView view) { _view = view; } protected QueryableDataSource() { } [SuppressMessage("Microsoft.Naming", "CA1721:PropertyNamesShouldNotMatchGetMethods", Justification="View is used by derived types")] private QueryableDataSourceView View { get { if (_view == null) { _view = CreateQueryableView(); } return _view; } } internal IPage IPage { get { if (_page != null) { return _page; } else { Page page = Page; if (page == null) { throw new InvalidOperationException(AtlasWeb.Common_PageCannotBeNull); } return new PageWrapper(page); } } } protected abstract QueryableDataSourceView CreateQueryableView(); protected override ICollection GetViewNames() { if (_viewNames == null) { _viewNames = new ReadOnlyCollection (new[] { DefaultViewName }); } return _viewNames; } protected override DataSourceView GetView(string viewName) { if (viewName == null) { throw new ArgumentNullException("viewName"); } // viewName comes from the DataMember property on the databound control and is an empty string // by default. An empty string should be treated as if it were the default view name. if ((viewName.Length != 0) && !String.Equals(viewName, DefaultViewName, StringComparison.OrdinalIgnoreCase)) { throw new ArgumentException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.LinqDataSource_InvalidViewName, ID, DefaultViewName), "viewName"); } return View; } [SuppressMessage("Microsoft.Security", "CA2109:ReviewVisibleEventHandlers", MessageId = "0#")] #if ORYX_VNEXT protected override void OnInit(EventArgs e) { #else protected internal override void OnInit(EventArgs e) { #endif base.OnInit(e); IPage.LoadComplete += new EventHandler(OnPageLoadComplete); } // Used for unit testing only internal void SetView(QueryableDataSourceView view) { _view = view; } protected virtual void UpdateParameterVales() { View.WhereParameters.UpdateValues(Context, this); View.OrderGroupsByParameters.UpdateValues(Context, this); View.GroupByParameters.UpdateValues(Context, this); View.OrderByParameters.UpdateValues(Context, this); View.SelectNewParameters.UpdateValues(Context, this); } private void OnPageLoadComplete(object sender, EventArgs e) { UpdateParameterVales(); } protected override object SaveViewState() { Pair myState = new Pair(); myState.First = base.SaveViewState(); if (_view != null) { myState.Second = ((IStateManager)_view).SaveViewState(); } if ((myState.First == null) && (myState.Second == null)) { return null; } return myState; } protected override void TrackViewState() { base.TrackViewState(); if (_view != null) { ((IStateManager)_view).TrackViewState(); } } protected override void LoadViewState(object savedState) { if (savedState == null) { base.LoadViewState(null); } else { Pair myState = (Pair)savedState; base.LoadViewState(myState.First); if (myState.Second != null) { ((IStateManager)View).LoadViewState(myState.Second); } } } #region IQueryableDataSource Members public void RaiseViewChanged() { View.RaiseViewChanged(); } public event EventHandler QueryCreated { add { View.QueryCreated += value; } remove { View.QueryCreated -= value; } } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. #if ORYX_VNEXT namespace Microsoft.Web.Data.UI.WebControls { #else namespace System.Web.UI.WebControls { #endif using System; using System.Collections; using System.Collections.ObjectModel; using System.ComponentModel; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.Resources; using System.Diagnostics.CodeAnalysis; using System.Globalization; #if ORYX_VNEXT using Microsoft.Web.Data.UI.WebControls.Expressions; using System.Web; #else using System.Web.UI.WebControls.Expressions; #endif [ ParseChildren(true), PersistChildren(false) ] public abstract class QueryableDataSource : DataSourceControl, IQueryableDataSource { private const string DefaultViewName = "DefaultView"; private ReadOnlyCollection _viewNames; private QueryableDataSourceView _view; #if !ORYX_VNEXT private readonly new IPage _page; #else private readonly IPage _page; #endif internal QueryableDataSource(IPage page) { _page = page; } internal QueryableDataSource(QueryableDataSourceView view) { _view = view; } protected QueryableDataSource() { } [SuppressMessage("Microsoft.Naming", "CA1721:PropertyNamesShouldNotMatchGetMethods", Justification="View is used by derived types")] private QueryableDataSourceView View { get { if (_view == null) { _view = CreateQueryableView(); } return _view; } } internal IPage IPage { get { if (_page != null) { return _page; } else { Page page = Page; if (page == null) { throw new InvalidOperationException(AtlasWeb.Common_PageCannotBeNull); } return new PageWrapper(page); } } } protected abstract QueryableDataSourceView CreateQueryableView(); protected override ICollection GetViewNames() { if (_viewNames == null) { _viewNames = new ReadOnlyCollection (new[] { DefaultViewName }); } return _viewNames; } protected override DataSourceView GetView(string viewName) { if (viewName == null) { throw new ArgumentNullException("viewName"); } // viewName comes from the DataMember property on the databound control and is an empty string // by default. An empty string should be treated as if it were the default view name. if ((viewName.Length != 0) && !String.Equals(viewName, DefaultViewName, StringComparison.OrdinalIgnoreCase)) { throw new ArgumentException(String.Format(CultureInfo.InvariantCulture, AtlasWeb.LinqDataSource_InvalidViewName, ID, DefaultViewName), "viewName"); } return View; } [SuppressMessage("Microsoft.Security", "CA2109:ReviewVisibleEventHandlers", MessageId = "0#")] #if ORYX_VNEXT protected override void OnInit(EventArgs e) { #else protected internal override void OnInit(EventArgs e) { #endif base.OnInit(e); IPage.LoadComplete += new EventHandler(OnPageLoadComplete); } // Used for unit testing only internal void SetView(QueryableDataSourceView view) { _view = view; } protected virtual void UpdateParameterVales() { View.WhereParameters.UpdateValues(Context, this); View.OrderGroupsByParameters.UpdateValues(Context, this); View.GroupByParameters.UpdateValues(Context, this); View.OrderByParameters.UpdateValues(Context, this); View.SelectNewParameters.UpdateValues(Context, this); } private void OnPageLoadComplete(object sender, EventArgs e) { UpdateParameterVales(); } protected override object SaveViewState() { Pair myState = new Pair(); myState.First = base.SaveViewState(); if (_view != null) { myState.Second = ((IStateManager)_view).SaveViewState(); } if ((myState.First == null) && (myState.Second == null)) { return null; } return myState; } protected override void TrackViewState() { base.TrackViewState(); if (_view != null) { ((IStateManager)_view).TrackViewState(); } } protected override void LoadViewState(object savedState) { if (savedState == null) { base.LoadViewState(null); } else { Pair myState = (Pair)savedState; base.LoadViewState(myState.First); if (myState.Second != null) { ((IStateManager)View).LoadViewState(myState.Second); } } } #region IQueryableDataSource Members public void RaiseViewChanged() { View.RaiseViewChanged(); } public event EventHandler QueryCreated { add { View.QueryCreated += value; } remove { View.QueryCreated -= value; } } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MobileFormsAuthentication.cs
- StringValueConverter.cs
- ProcessHostMapPath.cs
- XmlReaderDelegator.cs
- Boolean.cs
- TypedDatasetGenerator.cs
- Variable.cs
- CategoryNameCollection.cs
- EmbossBitmapEffect.cs
- ToolBar.cs
- DesignerForm.cs
- DoubleAnimation.cs
- VirtualizedCellInfoCollection.cs
- AlternateView.cs
- oledbconnectionstring.cs
- Compensation.cs
- CookielessHelper.cs
- CreateUserWizardStep.cs
- MessageHeaderException.cs
- Point4DConverter.cs
- ColorContextHelper.cs
- SpellerStatusTable.cs
- Binding.cs
- ListBoxAutomationPeer.cs
- Marshal.cs
- OracleCommandBuilder.cs
- ImageClickEventArgs.cs
- OneToOneMappingSerializer.cs
- Metafile.cs
- PriorityRange.cs
- UniqueIdentifierService.cs
- RequestValidator.cs
- TimelineCollection.cs
- UTF8Encoding.cs
- DbProviderFactoriesConfigurationHandler.cs
- MediaSystem.cs
- SchemaImporterExtensionElement.cs
- WebPartsSection.cs
- WCFBuildProvider.cs
- SBCSCodePageEncoding.cs
- XmlAttribute.cs
- elementinformation.cs
- FirstMatchCodeGroup.cs
- _SslSessionsCache.cs
- TraceData.cs
- FilterEventArgs.cs
- AuthenticationException.cs
- SqlProvider.cs
- HttpHandlerActionCollection.cs
- FrameworkPropertyMetadata.cs
- TransformDescriptor.cs
- RequestValidator.cs
- SignatureGenerator.cs
- Function.cs
- MobileResource.cs
- RouteItem.cs
- RedBlackList.cs
- TextServicesDisplayAttribute.cs
- BufferAllocator.cs
- DeclaredTypeElementCollection.cs
- CursorConverter.cs
- ToolboxItem.cs
- PageResolution.cs
- DataPager.cs
- SqlDataAdapter.cs
- ByteStreamGeometryContext.cs
- HtmlInputControl.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- SqlFacetAttribute.cs
- XomlCompilerParameters.cs
- HighContrastHelper.cs
- ConnectionsZoneAutoFormat.cs
- AutomationEventArgs.cs
- Wizard.cs
- FlowPosition.cs
- ZipIOCentralDirectoryBlock.cs
- WebPartRestoreVerb.cs
- SHA1Cng.cs
- NameValueSectionHandler.cs
- WebPartVerbCollection.cs
- ControlBindingsCollection.cs
- TransactionsSectionGroup.cs
- TypefaceMap.cs
- HashHelpers.cs
- WebPartCatalogCloseVerb.cs
- DoubleAnimationClockResource.cs
- OdbcDataAdapter.cs
- ACE.cs
- OdbcEnvironment.cs
- EmbeddedObject.cs
- XmlDownloadManager.cs
- SerializationEventsCache.cs
- RankException.cs
- DecoratedNameAttribute.cs
- ToolStripControlHost.cs
- BaseValidatorDesigner.cs
- PersonalizablePropertyEntry.cs
- TextTreeRootNode.cs
- CompiledQueryCacheKey.cs
- TableRowGroup.cs