Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / DataSourceHelper.cs / 1305376 / DataSourceHelper.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Data; using System.Diagnostics; namespace System.Web.UI.MobileControls { /* * Data Source Helper class. Copied fairly verbatim from ASP.NET code base, and modified * to match our coding standards and, more importantly, use our exceptions. * The ASP.NET file is /system/web/ui/DataSourceHelper.cs (a private class) * * Copyright (c) 2000 Microsoft Corporation */ [Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")] 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. // (Ignore DataMember parameter.) 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 ((dataMember == null) || (dataMember.Length == 0)) { 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 ArgumentException( SR.GetString(SR.DataSourceHelper_MissingDataMember, dataMember)); } else { throw new ArgumentException( SR.GetString(SR.DataSourceHelper_DataSourceWithoutDataMember, "List DataSource")); } } } if (dataSource is IEnumerable) { return (IEnumerable)dataSource; } return null; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HttpCookiesSection.cs
- ConvertersCollection.cs
- Material.cs
- X509CertificateClaimSet.cs
- XmlLoader.cs
- SuppressMessageAttribute.cs
- DataGridTextColumn.cs
- WebBrowserProgressChangedEventHandler.cs
- WindowsGrip.cs
- BaseTreeIterator.cs
- OleDbException.cs
- ImageFormat.cs
- ControlCollection.cs
- SqlDataSourceCommandEventArgs.cs
- MailMessageEventArgs.cs
- DataTableCollection.cs
- ComponentEditorPage.cs
- MaxValueConverter.cs
- ArrayList.cs
- SortKey.cs
- OutputCacheProfileCollection.cs
- CodeTypeReferenceExpression.cs
- OledbConnectionStringbuilder.cs
- TextEffect.cs
- OleServicesContext.cs
- StateFinalizationDesigner.cs
- SecUtil.cs
- PeerObject.cs
- RijndaelManagedTransform.cs
- TextOnlyOutput.cs
- MultiBinding.cs
- KnownIds.cs
- SingleObjectCollection.cs
- CommandHelpers.cs
- returneventsaver.cs
- ListenUriMode.cs
- Semaphore.cs
- RecognizedPhrase.cs
- TextElementEditingBehaviorAttribute.cs
- StringHelper.cs
- VisualStyleInformation.cs
- ControlSerializer.cs
- EndEvent.cs
- HttpResponse.cs
- ConfigurationManagerInternal.cs
- DrawingGroup.cs
- CapabilitiesSection.cs
- CapabilitiesPattern.cs
- ColorKeyFrameCollection.cs
- RequestResizeEvent.cs
- CodeNamespace.cs
- ColumnClickEvent.cs
- HttpTransportSecurity.cs
- DataService.cs
- ProviderUtil.cs
- Repeater.cs
- ConsoleKeyInfo.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- TransformerInfo.cs
- WorkflowInvoker.cs
- FileController.cs
- EncoderParameter.cs
- PageHandlerFactory.cs
- codemethodreferenceexpression.cs
- ContourSegment.cs
- ApplicationTrust.cs
- ValidatorAttribute.cs
- DivideByZeroException.cs
- EmptyCollection.cs
- ImageIndexConverter.cs
- WebPartsSection.cs
- MetadataArtifactLoaderCompositeFile.cs
- ProjectionCamera.cs
- XmlDomTextWriter.cs
- SafeUserTokenHandle.cs
- ColorConvertedBitmapExtension.cs
- CancellableEnumerable.cs
- CodeGotoStatement.cs
- SimpleMailWebEventProvider.cs
- DataGridViewSelectedCellCollection.cs
- BlockUIContainer.cs
- DropShadowBitmapEffect.cs
- TrackingStringDictionary.cs
- XamlClipboardData.cs
- XmlMembersMapping.cs
- SqlClientPermission.cs
- DoubleCollectionConverter.cs
- DiscardableAttribute.cs
- DataGridViewAdvancedBorderStyle.cs
- OutputCache.cs
- SqlCommand.cs
- SystemGatewayIPAddressInformation.cs
- BinaryMethodMessage.cs
- GlyphShapingProperties.cs
- AdRotator.cs
- SelectorItemAutomationPeer.cs
- BatchParser.cs
- ValidationRule.cs
- FrameAutomationPeer.cs
- Window.cs