Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / MS / Internal / Data / XmlNodeComparer.cs / 1 / XmlNodeComparer.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Defines XmlNodeComparer object, used to sort a view of data produced by an XmlDataSource. // // Specs: [....]/connecteddata/M5%20Specs/UIBinding.mht // //--------------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Globalization; using System.Xml; using MS.Internal.Data; namespace MS.Internal.Data { ////// The XmlNodeComparer is used to sort a view of data produced by an XmlDataSource. /// internal class XmlNodeComparer : IComparer { ////// Constructor. /// /// array of sort parameters /// namespace manager, to control queries /// culture to use for comparisons internal XmlNodeComparer(SortDescriptionCollection sortParameters, XmlNamespaceManager namespaceManager, CultureInfo culture) { _sortParameters = sortParameters; _namespaceManager = namespaceManager; _culture = (culture == null) ? CultureInfo.InvariantCulture : culture; } int IComparer.Compare(object o1, object o2) { int result = 0; XmlNode node1 = o1 as XmlNode; XmlNode node2 = o2 as XmlNode; if (node1 == null) return -1; if (node2 == null) return +1; for (int k = 0; k < _sortParameters.Count; ++k) { string valueX = XmlHelper.SelectStringValue(node1, _sortParameters[k].PropertyName, _namespaceManager); string valueY = XmlHelper.SelectStringValue(node2, _sortParameters[k].PropertyName, _namespaceManager); result = String.Compare(valueX, valueY, false, _culture); if (_sortParameters[k].Direction == ListSortDirection.Descending) result = -result; if (result != 0) break; } return result; } private SortDescriptionCollection _sortParameters; private XmlNamespaceManager _namespaceManager; CultureInfo _culture; } } // 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
- CookielessHelper.cs
- ToolStripContainer.cs
- __ConsoleStream.cs
- Version.cs
- HWStack.cs
- TargetFrameworkAttribute.cs
- InkCanvas.cs
- ListenerChannelContext.cs
- ComponentResourceKeyConverter.cs
- ToolStripCollectionEditor.cs
- HashHelpers.cs
- VisualBrush.cs
- CodeDomSerializerBase.cs
- XmlChildEnumerator.cs
- ListenerChannelContext.cs
- ParameterBuilder.cs
- HttpEncoder.cs
- ByteRangeDownloader.cs
- RowToParametersTransformer.cs
- EmptyStringExpandableObjectConverter.cs
- TextTreeObjectNode.cs
- TranslateTransform3D.cs
- GraphicsContext.cs
- Size.cs
- PathBox.cs
- DataGridViewCellLinkedList.cs
- CompilerResults.cs
- CacheSection.cs
- __FastResourceComparer.cs
- DataSourceCacheDurationConverter.cs
- X509ChainElement.cs
- ResXBuildProvider.cs
- KeyTime.cs
- DataGridViewSelectedRowCollection.cs
- LocatorManager.cs
- Hashtable.cs
- StringFreezingAttribute.cs
- AxisAngleRotation3D.cs
- KeyFrames.cs
- RIPEMD160Managed.cs
- PeerResolverSettings.cs
- CqlLexerHelpers.cs
- SqlDataSourceDesigner.cs
- ValueOfAction.cs
- PreviewKeyDownEventArgs.cs
- DataSourceHelper.cs
- XmlSerializerFactory.cs
- TrackingProfile.cs
- DataServiceProviderMethods.cs
- Pair.cs
- ErrorRuntimeConfig.cs
- ApplicationSettingsBase.cs
- DSASignatureDeformatter.cs
- HttpModuleAction.cs
- WindowPattern.cs
- SafeSystemMetrics.cs
- ParagraphVisual.cs
- AppSettingsReader.cs
- GenericUI.cs
- KeySplineConverter.cs
- VectorAnimation.cs
- Matrix3D.cs
- DesignerVerbCollection.cs
- Contracts.cs
- FileUpload.cs
- GetPageCompletedEventArgs.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- UIElementHelper.cs
- DbgUtil.cs
- DataTable.cs
- LocalsItemDescription.cs
- UserInitiatedRoutedEventPermission.cs
- DataGridViewCellStyleConverter.cs
- AsymmetricAlgorithm.cs
- XslTransform.cs
- RowUpdatingEventArgs.cs
- DefaultPropertyAttribute.cs
- DataTableClearEvent.cs
- ListBase.cs
- SiteMapNode.cs
- StringFormat.cs
- EmptyReadOnlyDictionaryInternal.cs
- PowerStatus.cs
- VsPropertyGrid.cs
- UnsafeNativeMethods.cs
- HtmlImage.cs
- SerializationFieldInfo.cs
- CheckPair.cs
- AssemblyLoader.cs
- HelpEvent.cs
- GridViewDeleteEventArgs.cs
- SqlFacetAttribute.cs
- MetadataSource.cs
- SendActivityDesigner.cs
- Message.cs
- RotateTransform3D.cs
- propertytag.cs
- XmlSchemaAppInfo.cs
- AnonymousIdentificationModule.cs
- Debug.cs