Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / DataSourceHelper.cs / 1 / DataSourceHelper.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI { using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Data; internal sealed class DataSourceHelper { private DataSourceHelper() { } internal static IEnumerable GetResolvedDataSource(object dataSource, string dataMember) { if (dataSource == null) return null; IListSource listSource = dataSource as IListSource; if (listSource != null) { IList memberList = listSource.GetList(); if (listSource.ContainsListCollection == false) { // the returned list is itself the list we need to bind to // return (IEnumerable)memberList; } if ((memberList != null) && (memberList is ITypedList)) { ITypedList typedMemberList = (ITypedList)memberList; PropertyDescriptorCollection propDescs = typedMemberList.GetItemProperties(new PropertyDescriptor[0]); if ((propDescs != null) && (propDescs.Count != 0)) { PropertyDescriptor listProperty = null; if (String.IsNullOrEmpty(dataMember)) { listProperty = propDescs[0]; } else { listProperty = propDescs.Find(dataMember, true); } if (listProperty != null) { object listRow = memberList[0]; object list = listProperty.GetValue(listRow); if ((list != null) && (list is IEnumerable)) { return (IEnumerable)list; } } throw new HttpException(SR.GetString(SR.ListSource_Missing_DataMember, dataMember)); } else { throw new HttpException(SR.GetString(SR.ListSource_Without_DataMembers)); } } } if (dataSource is IEnumerable) { return (IEnumerable)dataSource; } return null; } } } // 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
- CachingHintValidation.cs
- ParseChildrenAsPropertiesAttribute.cs
- TextRangeBase.cs
- ClientBase.cs
- HyperLinkField.cs
- MultiPropertyDescriptorGridEntry.cs
- PrintDialogDesigner.cs
- XhtmlMobileTextWriter.cs
- ClientScriptManager.cs
- SoapReflectionImporter.cs
- EventManager.cs
- Vector3DKeyFrameCollection.cs
- WebPartDisplayMode.cs
- SocketException.cs
- XmlSchemaSimpleContentRestriction.cs
- SecurityDocument.cs
- AddInAttribute.cs
- MimeXmlReflector.cs
- RealizationContext.cs
- EventToken.cs
- RemoteWebConfigurationHostStream.cs
- ConfigXmlElement.cs
- AssemblyAttributes.cs
- PngBitmapDecoder.cs
- ChannelManager.cs
- _BaseOverlappedAsyncResult.cs
- PageThemeParser.cs
- NCryptNative.cs
- Method.cs
- Size.cs
- SqlClientMetaDataCollectionNames.cs
- FilteredAttributeCollection.cs
- ResolveMatchesCD1.cs
- ContentElement.cs
- PersonalizationStateInfoCollection.cs
- MessageProperties.cs
- GlyphManager.cs
- XmlBinaryWriter.cs
- Track.cs
- RequestNavigateEventArgs.cs
- CodeVariableDeclarationStatement.cs
- NamespaceCollection.cs
- SchemaType.cs
- MapPathBasedVirtualPathProvider.cs
- WebPartHelpVerb.cs
- DbMetaDataCollectionNames.cs
- SqlProviderManifest.cs
- EditorResources.cs
- ServiceContractDetailViewControl.cs
- XmlEventCache.cs
- FixedSOMTableCell.cs
- XmlConverter.cs
- GatewayIPAddressInformationCollection.cs
- XmlNavigatorFilter.cs
- SqlConnection.cs
- Base64Decoder.cs
- DESCryptoServiceProvider.cs
- ExternalFile.cs
- ImagingCache.cs
- EntitySetBase.cs
- MethodToken.cs
- RepeaterItem.cs
- PerformanceCounterPermission.cs
- SHA512Managed.cs
- OleServicesContext.cs
- DataGridCommandEventArgs.cs
- ObfuscationAttribute.cs
- SelectorAutomationPeer.cs
- X509ChainPolicy.cs
- RegexFCD.cs
- SiteOfOriginPart.cs
- RegistryKey.cs
- ResourcesChangeInfo.cs
- XsltQilFactory.cs
- HotSpotCollection.cs
- ConfigXmlReader.cs
- HttpServerVarsCollection.cs
- Pkcs7Recipient.cs
- GridViewRowEventArgs.cs
- RoleServiceManager.cs
- ReliableDuplexSessionChannel.cs
- NumberSubstitution.cs
- InvalidComObjectException.cs
- CircleHotSpot.cs
- ISFTagAndGuidCache.cs
- UrlPath.cs
- ColumnHeader.cs
- XmlDownloadManager.cs
- SecurityContext.cs
- XmlSerializerOperationGenerator.cs
- QueryPageSettingsEventArgs.cs
- DPCustomTypeDescriptor.cs
- SymbolMethod.cs
- TraceProvider.cs
- IntPtr.cs
- ProfileGroupSettings.cs
- UnauthorizedAccessException.cs
- PartitionedDataSource.cs
- Geometry.cs
- AppliesToBehaviorDecisionTable.cs