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
- NameTable.cs
- GetImportedCardRequest.cs
- Rect.cs
- FocusWithinProperty.cs
- ScriptControl.cs
- HMACSHA1.cs
- LocalizableResourceBuilder.cs
- GridViewSortEventArgs.cs
- SecurityManager.cs
- ListViewInsertedEventArgs.cs
- DetailsViewCommandEventArgs.cs
- System.Data.OracleClient_BID.cs
- CipherData.cs
- FrameworkElementFactoryMarkupObject.cs
- securestring.cs
- XmlWriterTraceListener.cs
- ThrowHelper.cs
- Point3DAnimationUsingKeyFrames.cs
- HtmlInputSubmit.cs
- EventProvider.cs
- MetadataArtifactLoaderResource.cs
- PageStatePersister.cs
- TableColumnCollectionInternal.cs
- BooleanToVisibilityConverter.cs
- DataAdapter.cs
- TextTreeInsertElementUndoUnit.cs
- SafeEventHandle.cs
- XPathAncestorIterator.cs
- CompilationUtil.cs
- HatchBrush.cs
- AppDomainAttributes.cs
- LocalBuilder.cs
- XmlNamespaceDeclarationsAttribute.cs
- UnregisterInfo.cs
- TraceSection.cs
- InlineObject.cs
- XmlILIndex.cs
- TextEditor.cs
- RelOps.cs
- basecomparevalidator.cs
- WindowsEditBox.cs
- Point.cs
- RotateTransform3D.cs
- ListSourceHelper.cs
- DSACryptoServiceProvider.cs
- DataControlPagerLinkButton.cs
- XmlObjectSerializer.cs
- SqlNode.cs
- ObjectParameterCollection.cs
- PeerCollaborationPermission.cs
- FullTextLine.cs
- AdvancedBindingPropertyDescriptor.cs
- RelatedPropertyManager.cs
- ConfigurationCollectionAttribute.cs
- PropertiesTab.cs
- SessionStateUtil.cs
- ReadOnlyHierarchicalDataSourceView.cs
- RelationshipConverter.cs
- HealthMonitoringSection.cs
- RightsManagementEncryptionTransform.cs
- EmptyStringExpandableObjectConverter.cs
- PrintPreviewControl.cs
- SettingsPropertyValue.cs
- ColorComboBox.cs
- NumberFormatter.cs
- GridProviderWrapper.cs
- ListViewDeleteEventArgs.cs
- ListViewAutomationPeer.cs
- HttpListenerException.cs
- CompareInfo.cs
- EdmPropertyAttribute.cs
- SafeFileMappingHandle.cs
- UidPropertyAttribute.cs
- NetworkStream.cs
- DefinitionBase.cs
- SrgsGrammar.cs
- CharEnumerator.cs
- DeferrableContent.cs
- Menu.cs
- DbProviderServices.cs
- DummyDataSource.cs
- XDeferredAxisSource.cs
- OpenFileDialog.cs
- ModelServiceImpl.cs
- BordersPage.cs
- ContextMenu.cs
- Int16.cs
- CopyAction.cs
- ApplicationSettingsBase.cs
- BitmapSource.cs
- NavigationHelper.cs
- Maps.cs
- TreeNode.cs
- SymLanguageType.cs
- WebPartEditorOkVerb.cs
- DelimitedListTraceListener.cs
- TraceProvider.cs
- ThreadStaticAttribute.cs
- SchemaSetCompiler.cs
- Int32Collection.cs