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
- ListViewUpdateEventArgs.cs
- HttpListenerException.cs
- SharedUtils.cs
- MultiView.cs
- ExpressionDumper.cs
- OLEDB_Enum.cs
- MessageDecoder.cs
- ConstantExpression.cs
- OdbcConnection.cs
- DataGridViewColumnCollection.cs
- RawStylusInput.cs
- PersistenceProviderBehavior.cs
- ThrowHelper.cs
- HitTestDrawingContextWalker.cs
- SafeArrayTypeMismatchException.cs
- BrushConverter.cs
- HttpStaticObjectsCollectionBase.cs
- ConstrainedGroup.cs
- BindingWorker.cs
- InputBuffer.cs
- XPathNodeList.cs
- ToolStripItemDesigner.cs
- MsmqDecodeHelper.cs
- FontSizeConverter.cs
- PathTooLongException.cs
- RenderDataDrawingContext.cs
- DiagnosticsConfiguration.cs
- ToolStripGrip.cs
- FlowNode.cs
- ParameterModifier.cs
- EditCommandColumn.cs
- XmlSchemaSimpleTypeUnion.cs
- SecurityCapabilities.cs
- SchemaInfo.cs
- ToolStripDesignerAvailabilityAttribute.cs
- ProfileService.cs
- PropertyCondition.cs
- PersonalizableTypeEntry.cs
- FontStyle.cs
- AuthorizationSection.cs
- SynchronizationContext.cs
- FormViewCommandEventArgs.cs
- TextRangeProviderWrapper.cs
- Cloud.cs
- DataGridBoolColumn.cs
- DrawingDrawingContext.cs
- EmptyTextWriter.cs
- WmlSelectionListAdapter.cs
- DataBindingHandlerAttribute.cs
- FontSizeConverter.cs
- PrePostDescendentsWalker.cs
- UserMapPath.cs
- DoubleUtil.cs
- CounterSample.cs
- RowCache.cs
- RectIndependentAnimationStorage.cs
- OrderedDictionary.cs
- DocumentSequenceHighlightLayer.cs
- ProviderMetadataCachedInformation.cs
- SpnEndpointIdentityExtension.cs
- RotationValidation.cs
- AttributeCollection.cs
- FormViewUpdateEventArgs.cs
- SafeRightsManagementSessionHandle.cs
- Cursor.cs
- FrameworkPropertyMetadata.cs
- GridView.cs
- BuildTopDownAttribute.cs
- RelationshipEndCollection.cs
- ItemsControl.cs
- GridViewUpdateEventArgs.cs
- TreeNode.cs
- UInt32Converter.cs
- HebrewNumber.cs
- ZoneLinkButton.cs
- TextTreeInsertElementUndoUnit.cs
- RightsManagementEncryptionTransform.cs
- DrawingContextFlattener.cs
- ThrowHelper.cs
- AutoResetEvent.cs
- TextServicesHost.cs
- DoubleAnimation.cs
- cryptoapiTransform.cs
- ObjectAnimationUsingKeyFrames.cs
- Int32Rect.cs
- FullTextState.cs
- TextEditorContextMenu.cs
- ConnectionManagementSection.cs
- webeventbuffer.cs
- EventEntry.cs
- IUnknownConstantAttribute.cs
- RulePatternOps.cs
- NewExpression.cs
- TraceInternal.cs
- DbSourceCommand.cs
- ControlBindingsCollection.cs
- SafeCryptContextHandle.cs
- TextTreeRootNode.cs
- Selector.cs
- TriggerAction.cs