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
- PreviewKeyDownEventArgs.cs
- SortQuery.cs
- SmiConnection.cs
- ManagementInstaller.cs
- XmlNullResolver.cs
- TypeToArgumentTypeConverter.cs
- NativeMethods.cs
- CompilerLocalReference.cs
- XmlWrappingReader.cs
- InternalConfigEventArgs.cs
- SingleObjectCollection.cs
- ChangeNode.cs
- BufferedStream2.cs
- PassportPrincipal.cs
- TreeNode.cs
- ListMarkerSourceInfo.cs
- AsymmetricAlgorithm.cs
- EventArgs.cs
- DefaultHttpHandler.cs
- DataListItemEventArgs.cs
- GraphicsPath.cs
- DataGridViewRowPostPaintEventArgs.cs
- RealizedColumnsBlock.cs
- XmlBinaryWriter.cs
- OperationParameterInfo.cs
- ProjectionCamera.cs
- WindowsPrincipal.cs
- SqlCacheDependencySection.cs
- TextTreePropertyUndoUnit.cs
- MediaPlayerState.cs
- FrameworkRichTextComposition.cs
- WebBrowsableAttribute.cs
- Message.cs
- EditorZone.cs
- ControlAdapter.cs
- ResourceDisplayNameAttribute.cs
- AsyncOperation.cs
- BoolLiteral.cs
- NativeRightsManagementAPIsStructures.cs
- DataContractSerializerOperationBehavior.cs
- DispatcherOperation.cs
- IconHelper.cs
- NumericUpDownAccelerationCollection.cs
- QilScopedVisitor.cs
- BridgeDataRecord.cs
- initElementDictionary.cs
- FontFamilyIdentifier.cs
- Pair.cs
- CounterCreationData.cs
- SemanticKeyElement.cs
- RpcCryptoContext.cs
- CookieProtection.cs
- XmlSerializerAssemblyAttribute.cs
- EventTrigger.cs
- OwnerDrawPropertyBag.cs
- Helper.cs
- CodeAttachEventStatement.cs
- XPathNode.cs
- MultiPartWriter.cs
- SystemDiagnosticsSection.cs
- MetadataItem_Static.cs
- elementinformation.cs
- SafeNativeMethods.cs
- CheckBox.cs
- CodeActivityMetadata.cs
- Typography.cs
- ObjectDisposedException.cs
- MetadataItemSerializer.cs
- DatagridviewDisplayedBandsData.cs
- OptimizerPatterns.cs
- XPathBinder.cs
- EnumerableRowCollection.cs
- SeekStoryboard.cs
- ImmutablePropertyDescriptorGridEntry.cs
- PermissionAttributes.cs
- FormViewPagerRow.cs
- TableRow.cs
- TableDetailsRow.cs
- SettingsSection.cs
- MatrixStack.cs
- ButtonFieldBase.cs
- ListDesigner.cs
- DocumentCollection.cs
- DoubleKeyFrameCollection.cs
- RawStylusInputCustomDataList.cs
- XamlReader.cs
- PropertyGridCommands.cs
- BindingBase.cs
- DbParameterHelper.cs
- CompositeCollectionView.cs
- Executor.cs
- RequiredAttributeAttribute.cs
- NestedContainer.cs
- ValidationResult.cs
- PersistenceTypeAttribute.cs
- TypeUnloadedException.cs
- TextEditorMouse.cs
- Vector3DKeyFrameCollection.cs
- SecureUICommand.cs
- Root.cs