Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / DynamicData / DynamicData / ModelProviders / SimpleTableProvider.cs / 1305376 / SimpleTableProvider.cs
namespace System.Web.DynamicData.ModelProviders {
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
using System.ComponentModel;
internal sealed class SimpleTableProvider : TableProvider {
private List _columns;
private ICustomTypeDescriptor _descriptor;
public SimpleTableProvider(DataModelProvider modelProvider, Type entityType)
: base(modelProvider) {
if (entityType == null) {
throw new ArgumentNullException("entityType");
}
EntityType = entityType;
Name = entityType.Name;
DataContextPropertyName = String.Empty;
InitializeColumns(TypeDescriptor.GetProperties(entityType));
}
public SimpleTableProvider(DataModelProvider modelProvider, ICustomTypeDescriptor descriptor)
: base(modelProvider) {
if (descriptor == null) {
throw new ArgumentNullException("descriptor");
}
_descriptor = descriptor;
Name = descriptor.GetClassName();
DataContextPropertyName = String.Empty;
InitializeColumns(descriptor.GetProperties());
}
public override ReadOnlyCollection Columns {
get {
return _columns.AsReadOnly();
}
}
public override ICustomTypeDescriptor GetTypeDescriptor() {
return _descriptor ?? base.GetTypeDescriptor();
}
public override IQueryable GetQuery(object context) {
throw new NotSupportedException();
}
private void InitializeColumns(PropertyDescriptorCollection columnDescriptors) {
_columns = columnDescriptors.OfType().Select(p => new SimpleColumnProvider(this, p)).OfType().ToList();
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
namespace System.Web.DynamicData.ModelProviders {
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
using System.ComponentModel;
internal sealed class SimpleTableProvider : TableProvider {
private List _columns;
private ICustomTypeDescriptor _descriptor;
public SimpleTableProvider(DataModelProvider modelProvider, Type entityType)
: base(modelProvider) {
if (entityType == null) {
throw new ArgumentNullException("entityType");
}
EntityType = entityType;
Name = entityType.Name;
DataContextPropertyName = String.Empty;
InitializeColumns(TypeDescriptor.GetProperties(entityType));
}
public SimpleTableProvider(DataModelProvider modelProvider, ICustomTypeDescriptor descriptor)
: base(modelProvider) {
if (descriptor == null) {
throw new ArgumentNullException("descriptor");
}
_descriptor = descriptor;
Name = descriptor.GetClassName();
DataContextPropertyName = String.Empty;
InitializeColumns(descriptor.GetProperties());
}
public override ReadOnlyCollection Columns {
get {
return _columns.AsReadOnly();
}
}
public override ICustomTypeDescriptor GetTypeDescriptor() {
return _descriptor ?? base.GetTypeDescriptor();
}
public override IQueryable GetQuery(object context) {
throw new NotSupportedException();
}
private void InitializeColumns(PropertyDescriptorCollection columnDescriptors) {
_columns = columnDescriptors.OfType().Select(p => new SimpleColumnProvider(this, p)).OfType().ToList();
}
}
}
// 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
- InputLanguageEventArgs.cs
- GridViewItemAutomationPeer.cs
- HScrollProperties.cs
- MultiTargetingUtil.cs
- ForwardPositionQuery.cs
- RandomNumberGenerator.cs
- RuntimeHandles.cs
- DropShadowBitmapEffect.cs
- Set.cs
- CircleHotSpot.cs
- WebBrowserProgressChangedEventHandler.cs
- Pair.cs
- ColumnCollectionEditor.cs
- MsmqInputChannelListenerBase.cs
- ControlBuilderAttribute.cs
- TimeManager.cs
- GridViewRowCollection.cs
- OracleSqlParser.cs
- CollectionChangeEventArgs.cs
- FileEnumerator.cs
- WindowsListViewGroupHelper.cs
- HorizontalAlignConverter.cs
- SqlTypesSchemaImporter.cs
- PackagePartCollection.cs
- XPathNodePointer.cs
- CodeMethodReturnStatement.cs
- CapabilitiesState.cs
- CacheHelper.cs
- WS2007HttpBindingCollectionElement.cs
- SqlCacheDependency.cs
- ObservableCollection.cs
- HtmlWindow.cs
- WebPartConnectionCollection.cs
- XmlSerializationGeneratedCode.cs
- Transform3DGroup.cs
- BCryptNative.cs
- DllNotFoundException.cs
- PagedDataSource.cs
- RegexRunner.cs
- FreeIndexList.cs
- HeaderedContentControl.cs
- DataGridViewButtonColumn.cs
- ScriptControlDescriptor.cs
- AssemblyAttributesGoHere.cs
- TypeNameParser.cs
- WriteFileContext.cs
- BoolExpression.cs
- XmlChildEnumerator.cs
- __TransparentProxy.cs
- _NtlmClient.cs
- Directory.cs
- CompilerGeneratedAttribute.cs
- DataTemplateSelector.cs
- EventMappingSettingsCollection.cs
- FontWeightConverter.cs
- PanelContainerDesigner.cs
- ObjectMemberMapping.cs
- EdmSchemaError.cs
- ValuePatternIdentifiers.cs
- MonthChangedEventArgs.cs
- DataStorage.cs
- ResourceContainer.cs
- DataBoundControlHelper.cs
- ListBoxItemWrapperAutomationPeer.cs
- HttpFormatExtensions.cs
- BaseInfoTable.cs
- Section.cs
- StopStoryboard.cs
- CharacterShapingProperties.cs
- SystemColorTracker.cs
- InkCollectionBehavior.cs
- CompiledAction.cs
- GridViewUpdateEventArgs.cs
- SynchronizationLockException.cs
- DateTimeOffsetStorage.cs
- TileModeValidation.cs
- DirtyTextRange.cs
- OpCodes.cs
- AutoResetEvent.cs
- TrustLevel.cs
- PartitionerQueryOperator.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- PagePropertiesChangingEventArgs.cs
- Binding.cs
- OAVariantLib.cs
- LocalizedNameDescriptionPair.cs
- ListMarkerSourceInfo.cs
- XmlFormatExtensionPrefixAttribute.cs
- GregorianCalendarHelper.cs
- LicenseException.cs
- CodeVariableReferenceExpression.cs
- TreeNodeCollection.cs
- SqlGenerator.cs
- MetadataArtifactLoaderResource.cs
- MimeFormatExtensions.cs
- XmlElement.cs
- DataGridTextBox.cs
- TextShapeableCharacters.cs
- DataTablePropertyDescriptor.cs
- SplitterCancelEvent.cs