Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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 // NOTE: I am ignoring the DataMember parameter... ideally we might have // thrown an exception, but this would mess up design-time usage // where the user may change the data source from a DataSet to a // DataTable. 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; } } }
Link Menu
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OrderPreservingPipeliningSpoolingTask.cs
- BinaryFormatterWriter.cs
- GPStream.cs
- SortedList.cs
- XslException.cs
- Pair.cs
- BindingElementCollection.cs
- ProfileInfo.cs
- HtmlTextArea.cs
- AdPostCacheSubstitution.cs
- GridViewPageEventArgs.cs
- MdiWindowListStrip.cs
- ReadOnlyHierarchicalDataSourceView.cs
- Random.cs
- RawMouseInputReport.cs
- PostBackOptions.cs
- DynamicValidatorEventArgs.cs
- ConstructorExpr.cs
- NavigationProperty.cs
- Logging.cs
- ObjectQueryState.cs
- EntityParameterCollection.cs
- DBAsyncResult.cs
- WsdlBuildProvider.cs
- FileSecurity.cs
- SliderAutomationPeer.cs
- ConfigurationStrings.cs
- LostFocusEventManager.cs
- ProgressBar.cs
- TreeViewItem.cs
- ExpressionBuilderContext.cs
- DefaultMemberAttribute.cs
- xsdvalidator.cs
- ItemChangedEventArgs.cs
- StringKeyFrameCollection.cs
- Simplifier.cs
- GenericNameHandler.cs
- ReflectPropertyDescriptor.cs
- InfoCardRequestException.cs
- Grid.cs
- XmlSchemaAll.cs
- AbsoluteQuery.cs
- Cursors.cs
- SqlDataSource.cs
- Win32.cs
- DataControlFieldCollection.cs
- GenericPrincipal.cs
- DateRangeEvent.cs
- Profiler.cs
- TextTreeRootNode.cs
- ApplicationContext.cs
- CompareInfo.cs
- CommandManager.cs
- SafeNativeMemoryHandle.cs
- DynamicEntity.cs
- CollectionBuilder.cs
- ToolStripDropDownClosingEventArgs.cs
- ConfigurationLocation.cs
- SourceChangedEventArgs.cs
- GuidTagList.cs
- SQLInt16.cs
- RegisteredHiddenField.cs
- ComPlusDiagnosticTraceRecords.cs
- PkcsMisc.cs
- FileReservationCollection.cs
- OrCondition.cs
- IncrementalCompileAnalyzer.cs
- ParameterBuilder.cs
- SessionEndedEventArgs.cs
- TreeChangeInfo.cs
- Track.cs
- HighlightVisual.cs
- ImageSourceTypeConverter.cs
- ToolStripDropDown.cs
- X509UI.cs
- FrameworkRichTextComposition.cs
- FixedPageStructure.cs
- SqlFacetAttribute.cs
- OracleEncoding.cs
- SafeTimerHandle.cs
- MailAddress.cs
- SoapHeaderAttribute.cs
- ModelPropertyImpl.cs
- QuaternionAnimation.cs
- DataGridViewRowPrePaintEventArgs.cs
- ObjectAnimationBase.cs
- DbParameterHelper.cs
- EntityDataSourceConfigureObjectContext.cs
- EventRoute.cs
- ActiveXSite.cs
- DataSourceNameHandler.cs
- TextRangeProviderWrapper.cs
- FormatterServicesNoSerializableCheck.cs
- DrawingContextWalker.cs
- oledbmetadatacollectionnames.cs
- TransactedReceiveData.cs
- SmtpReplyReader.cs
- Point3DIndependentAnimationStorage.cs
- ApplicationManager.cs
- DefaultTextStoreTextComposition.cs