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
- StringDictionaryEditor.cs
- OraclePermissionAttribute.cs
- EventEntry.cs
- ReadOnlyDictionary.cs
- CounterSet.cs
- UnionCodeGroup.cs
- LockCookie.cs
- IdSpace.cs
- ExceptionUtility.cs
- XmlTypeMapping.cs
- DataGridTemplateColumn.cs
- GridViewItemAutomationPeer.cs
- ObsoleteAttribute.cs
- CachedPathData.cs
- SecurityDescriptor.cs
- DataSourceGeneratorException.cs
- DesignerActionPanel.cs
- BoundColumn.cs
- BrowsableAttribute.cs
- InputLangChangeEvent.cs
- BrowserDefinition.cs
- ArcSegment.cs
- XhtmlBasicPanelAdapter.cs
- TextHidden.cs
- HttpProtocolImporter.cs
- BindingManagerDataErrorEventArgs.cs
- Point3DCollection.cs
- TreeViewImageKeyConverter.cs
- Message.cs
- ToolTip.cs
- AdapterDictionary.cs
- ExpressionBindings.cs
- TextRangeProviderWrapper.cs
- XPathException.cs
- CryptoHelper.cs
- ComboBox.cs
- ApplicationProxyInternal.cs
- FilterException.cs
- MailMessage.cs
- RepeaterItem.cs
- SymbolTable.cs
- RealProxy.cs
- PieceDirectory.cs
- PartialArray.cs
- RealizationContext.cs
- GetWinFXPath.cs
- Accessors.cs
- ApplicationSecurityManager.cs
- AnnotationStore.cs
- Pts.cs
- ResXFileRef.cs
- ValidationEventArgs.cs
- AuthorizationSection.cs
- ProviderBase.cs
- Exceptions.cs
- AssemblyCache.cs
- TranslateTransform3D.cs
- UnorderedHashRepartitionStream.cs
- ContentPosition.cs
- MultiByteCodec.cs
- PtsPage.cs
- DropSource.cs
- OutputCacheSettings.cs
- ThemeDirectoryCompiler.cs
- SettingsPropertyWrongTypeException.cs
- EnumerableRowCollection.cs
- TextBoxDesigner.cs
- UrlAuthFailedErrorFormatter.cs
- HistoryEventArgs.cs
- SignatureGenerator.cs
- PersonalizableAttribute.cs
- WindowsSecurityToken.cs
- Int64KeyFrameCollection.cs
- Rotation3DAnimation.cs
- StateItem.cs
- ControlDesigner.cs
- AuthorizationSection.cs
- PKCS1MaskGenerationMethod.cs
- WebMessageEncodingBindingElement.cs
- CategoryAttribute.cs
- DisplayMemberTemplateSelector.cs
- TagMapInfo.cs
- FlowDocumentView.cs
- ListenerElementsCollection.cs
- TreeViewEvent.cs
- TokenCreationException.cs
- References.cs
- DataGridItem.cs
- WhereQueryOperator.cs
- TrackingStringDictionary.cs
- CustomTypeDescriptor.cs
- WindowsRebar.cs
- PatternMatcher.cs
- MethodSet.cs
- LinqDataSourceValidationException.cs
- SafeNativeMethods.cs
- UInt32Storage.cs
- HttpTransportSecurityElement.cs
- CorrelationTokenTypeConvertor.cs
- WinEventWrap.cs