Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / 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: http://avalon/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. //---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: Defines XmlNodeComparer object, used to sort a view of data produced by an XmlDataSource. // // Specs: http://avalon/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
- DataQuery.cs
- cookiecollection.cs
- DoubleAnimation.cs
- RectAnimation.cs
- InputProcessorProfilesLoader.cs
- CachedCompositeFamily.cs
- TextComposition.cs
- TableCellCollection.cs
- FixedHyperLink.cs
- ServiceThrottlingBehavior.cs
- XmlSchemaComplexType.cs
- RedirectionProxy.cs
- DoubleSumAggregationOperator.cs
- ConfigXmlCDataSection.cs
- SqlDataSourceQuery.cs
- Quad.cs
- FileUtil.cs
- ToolStripOverflow.cs
- Avt.cs
- DataGridViewCellPaintingEventArgs.cs
- FixedNode.cs
- WorkflowEnvironment.cs
- OAVariantLib.cs
- PackageDigitalSignature.cs
- ConditionalWeakTable.cs
- PrePostDescendentsWalker.cs
- Command.cs
- DataGridViewCellEventArgs.cs
- UnSafeCharBuffer.cs
- XmlSchemaFacet.cs
- storepermissionattribute.cs
- BlurBitmapEffect.cs
- BufferedReadStream.cs
- MenuBase.cs
- uribuilder.cs
- basevalidator.cs
- FuncCompletionCallbackWrapper.cs
- SmtpFailedRecipientsException.cs
- DetailsViewCommandEventArgs.cs
- RawTextInputReport.cs
- Run.cs
- NameValueSectionHandler.cs
- Hash.cs
- Encoder.cs
- DataGridViewLayoutData.cs
- DataGridViewCellConverter.cs
- TabPanel.cs
- DropShadowBitmapEffect.cs
- VirtualPathProvider.cs
- Workspace.cs
- Route.cs
- AffineTransform3D.cs
- CodeParameterDeclarationExpression.cs
- Rotation3DKeyFrameCollection.cs
- SubstitutionList.cs
- PropertySegmentSerializationProvider.cs
- ListDictionary.cs
- XmlWriter.cs
- Camera.cs
- webproxy.cs
- X509SecurityTokenAuthenticator.cs
- MultiByteCodec.cs
- _ConnectStream.cs
- ExtendedProtectionPolicy.cs
- ComponentManagerBroker.cs
- TypeConverterHelper.cs
- XmlElementList.cs
- Logging.cs
- BamlLocalizableResourceKey.cs
- CultureNotFoundException.cs
- InvalidFilterCriteriaException.cs
- SafeBitVector32.cs
- ExpandSegment.cs
- Point4D.cs
- COM2TypeInfoProcessor.cs
- HostProtectionException.cs
- MouseOverProperty.cs
- PointCollection.cs
- SynchronizedPool.cs
- ProtocolElement.cs
- DetailsViewRowCollection.cs
- BrowsableAttribute.cs
- ResourceReader.cs
- WindowsIdentity.cs
- KeyTimeConverter.cs
- _OSSOCK.cs
- SmiXetterAccessMap.cs
- MeasurementDCInfo.cs
- PathGeometry.cs
- CodeBlockBuilder.cs
- DetailsViewDeleteEventArgs.cs
- WhitespaceSignificantCollectionAttribute.cs
- BreakSafeBase.cs
- HideDisabledControlAdapter.cs
- NumericUpDownAccelerationCollection.cs
- Dump.cs
- PreDigestedSignedInfo.cs
- WriteFileContext.cs
- cookiecollection.cs
- SiteMapNodeItem.cs