Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / UI / WebControls / Expressions / DataSourceExpressionCollection.cs / 1305376 / DataSourceExpressionCollection.cs
#if ORYX_VNEXT
namespace Microsoft.Web.Data.UI.WebControls.Expressions {
using System;
#else
namespace System.Web.UI.WebControls.Expressions {
#endif
using System.Collections;
using System.Collections.ObjectModel;
using System.Diagnostics.CodeAnalysis;
using System.Web;
using System.Web.UI;
public class DataSourceExpressionCollection : StateManagedCollection {
private IQueryableDataSource _dataSource;
private static readonly Type[] knownTypes = new Type[] {
typeof(SearchExpression),
typeof(MethodExpression),
typeof(OrderByExpression),
typeof(RangeExpression),
typeof(PropertyExpression),
typeof(CustomExpression),
};
public HttpContext Context {
get;
private set;
}
public Control Owner {
get;
private set;
}
public DataSourceExpression this[int index] {
get {
return (DataSourceExpression)((IList)this)[index];
}
set {
((IList)this)[index] = value;
}
}
// Allows for nested expression blocks to be initilaized after the fact
internal void SetContext(Control owner, HttpContext context, IQueryableDataSource dataSource) {
Owner = owner;
Context = context;
_dataSource = dataSource;
foreach (DataSourceExpression expression in this) {
expression.SetContext(owner, context, _dataSource);
}
}
public void Add(DataSourceExpression expression) {
((IList)this).Add(expression);
}
protected override object CreateKnownType(int index) {
switch (index) {
case 0:
return new SearchExpression();
case 1:
return new MethodExpression();
case 2:
return new OrderByExpression();
case 3:
return new RangeExpression();
case 4:
return new PropertyExpression();
case 5:
return new CustomExpression();
default:
throw new ArgumentOutOfRangeException("index");
}
}
public void CopyTo(DataSourceExpression[] expressionArray, int index) {
base.CopyTo(expressionArray, index);
}
public void Contains(DataSourceExpression expression) {
((IList)this).Contains(expression);
}
protected override Type[] GetKnownTypes() {
return knownTypes;
}
public int IndexOf(DataSourceExpression expression) {
return ((IList)this).IndexOf(expression);
}
public void Insert(int index, DataSourceExpression expression) {
((IList)this).Insert(index, expression);
}
public void Remove(DataSourceExpression expression) {
((IList)this).Remove(expression);
}
public void RemoveAt(int index) {
((IList)this).RemoveAt(index);
}
protected override void SetDirtyObject(object o) {
((DataSourceExpression)o).SetDirty();
}
}
}
// 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.Expressions {
using System;
#else
namespace System.Web.UI.WebControls.Expressions {
#endif
using System.Collections;
using System.Collections.ObjectModel;
using System.Diagnostics.CodeAnalysis;
using System.Web;
using System.Web.UI;
public class DataSourceExpressionCollection : StateManagedCollection {
private IQueryableDataSource _dataSource;
private static readonly Type[] knownTypes = new Type[] {
typeof(SearchExpression),
typeof(MethodExpression),
typeof(OrderByExpression),
typeof(RangeExpression),
typeof(PropertyExpression),
typeof(CustomExpression),
};
public HttpContext Context {
get;
private set;
}
public Control Owner {
get;
private set;
}
public DataSourceExpression this[int index] {
get {
return (DataSourceExpression)((IList)this)[index];
}
set {
((IList)this)[index] = value;
}
}
// Allows for nested expression blocks to be initilaized after the fact
internal void SetContext(Control owner, HttpContext context, IQueryableDataSource dataSource) {
Owner = owner;
Context = context;
_dataSource = dataSource;
foreach (DataSourceExpression expression in this) {
expression.SetContext(owner, context, _dataSource);
}
}
public void Add(DataSourceExpression expression) {
((IList)this).Add(expression);
}
protected override object CreateKnownType(int index) {
switch (index) {
case 0:
return new SearchExpression();
case 1:
return new MethodExpression();
case 2:
return new OrderByExpression();
case 3:
return new RangeExpression();
case 4:
return new PropertyExpression();
case 5:
return new CustomExpression();
default:
throw new ArgumentOutOfRangeException("index");
}
}
public void CopyTo(DataSourceExpression[] expressionArray, int index) {
base.CopyTo(expressionArray, index);
}
public void Contains(DataSourceExpression expression) {
((IList)this).Contains(expression);
}
protected override Type[] GetKnownTypes() {
return knownTypes;
}
public int IndexOf(DataSourceExpression expression) {
return ((IList)this).IndexOf(expression);
}
public void Insert(int index, DataSourceExpression expression) {
((IList)this).Insert(index, expression);
}
public void Remove(DataSourceExpression expression) {
((IList)this).Remove(expression);
}
public void RemoveAt(int index) {
((IList)this).RemoveAt(index);
}
protected override void SetDirtyObject(object o) {
((DataSourceExpression)o).SetDirty();
}
}
}
// 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
- ZipIOEndOfCentralDirectoryBlock.cs
- Parameter.cs
- Listbox.cs
- CodeMethodReturnStatement.cs
- NullExtension.cs
- MetadataArtifactLoader.cs
- SelectionItemProviderWrapper.cs
- RtfToken.cs
- ProtocolProfile.cs
- SecurityTokenException.cs
- ScriptReference.cs
- OpenTypeCommon.cs
- ActivityDesignerLayoutSerializers.cs
- XmlSchemaGroupRef.cs
- ProcessHostFactoryHelper.cs
- FormView.cs
- WebCategoryAttribute.cs
- UInt16Storage.cs
- GroupItemAutomationPeer.cs
- CodeTypeReference.cs
- DataGridRow.cs
- ProviderCommandInfoUtils.cs
- ServicePoint.cs
- DrawingAttributes.cs
- XPathMessageFilter.cs
- ChannelManager.cs
- TextTreeUndoUnit.cs
- XmlTextReader.cs
- AtomContentProperty.cs
- PasswordRecovery.cs
- AnimationException.cs
- ListViewTableCell.cs
- HashHelper.cs
- ListViewTableCell.cs
- XmlUTF8TextWriter.cs
- CipherData.cs
- ToolStripSplitButton.cs
- ProtocolsConfiguration.cs
- ListBase.cs
- LogReserveAndAppendState.cs
- ActiveDocumentEvent.cs
- _NTAuthentication.cs
- Sequence.cs
- UpdatePanelTrigger.cs
- Highlights.cs
- ClientProxyGenerator.cs
- ButtonRenderer.cs
- MessageBox.cs
- StackBuilderSink.cs
- CapiHashAlgorithm.cs
- DataControlButton.cs
- HandledMouseEvent.cs
- EditorZoneAutoFormat.cs
- Stackframe.cs
- DirectionalLight.cs
- RemotingException.cs
- WebConfigurationHostFileChange.cs
- WizardPanelChangingEventArgs.cs
- StateDesigner.Layouts.cs
- ColorConverter.cs
- Operators.cs
- HintTextConverter.cs
- x509utils.cs
- FigureParaClient.cs
- DataBindingCollection.cs
- MenuItemBindingCollection.cs
- OleCmdHelper.cs
- CombinedGeometry.cs
- OnOperation.cs
- ElementInit.cs
- DbParameterCollection.cs
- XmlUrlResolver.cs
- XmlSchemaSimpleContentExtension.cs
- MetadataFile.cs
- WebPartManagerInternals.cs
- TemplatedWizardStep.cs
- DeclarativeExpressionConditionDeclaration.cs
- TraceLevelHelper.cs
- PropertyConverter.cs
- SafeSystemMetrics.cs
- OdbcRowUpdatingEvent.cs
- FrugalList.cs
- XmlSchemaGroupRef.cs
- ComMethodElement.cs
- Asn1IntegerConverter.cs
- HttpConfigurationContext.cs
- PreviewKeyDownEventArgs.cs
- HotSpot.cs
- IndentedWriter.cs
- TemplateLookupAction.cs
- HtmlHistory.cs
- DaylightTime.cs
- HttpRawResponse.cs
- EntitySqlQueryCacheKey.cs
- OdbcPermission.cs
- TabItemWrapperAutomationPeer.cs
- XamlTemplateSerializer.cs
- HwndProxyElementProvider.cs
- ReaderContextStackData.cs
- OwnerDrawPropertyBag.cs