Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- ComboBox.cs
- WindowProviderWrapper.cs
- ThrowHelper.cs
- ProfileService.cs
- LOSFormatter.cs
- MessageQueueTransaction.cs
- ImmutableObjectAttribute.cs
- DefaultTraceListener.cs
- SchemaTypeEmitter.cs
- RC2.cs
- QilStrConcat.cs
- sapiproxy.cs
- GenericAuthenticationEventArgs.cs
- DataFormat.cs
- CodeStatementCollection.cs
- CfgSemanticTag.cs
- CacheRequest.cs
- IPAddress.cs
- CancellationTokenSource.cs
- SystemInfo.cs
- XmlImplementation.cs
- Permission.cs
- Pen.cs
- EventProviderWriter.cs
- SynchronizedInputAdaptor.cs
- SingletonChannelAcceptor.cs
- RuntimeUtils.cs
- SmiGettersStream.cs
- ObjectReferenceStack.cs
- ProfileModule.cs
- TextSimpleMarkerProperties.cs
- Security.cs
- RowParagraph.cs
- ChangeTracker.cs
- HitTestWithPointDrawingContextWalker.cs
- VersionPair.cs
- PolicyException.cs
- AnimatedTypeHelpers.cs
- AuthorizationRuleCollection.cs
- MergeFailedEvent.cs
- TypeInitializationException.cs
- AsnEncodedData.cs
- SimpleLine.cs
- EpmTargetTree.cs
- SerializationSectionGroup.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- FileRecordSequence.cs
- ViewGenerator.cs
- DoubleCollection.cs
- LoginNameDesigner.cs
- TimeoutConverter.cs
- WorkflowElementDialog.cs
- ClientCultureInfo.cs
- KnownTypeAttribute.cs
- NativeMethods.cs
- ControlPaint.cs
- VBCodeProvider.cs
- UserControl.cs
- TextServicesManager.cs
- StrongNameMembershipCondition.cs
- ConsumerConnectionPoint.cs
- ArgumentNullException.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- ExecutionContext.cs
- GridViewItemAutomationPeer.cs
- CodeValidator.cs
- OdbcTransaction.cs
- TextDecorationCollection.cs
- SmtpNetworkElement.cs
- UriExt.cs
- StylusSystemGestureEventArgs.cs
- CharConverter.cs
- DataGridToolTip.cs
- CurrencyManager.cs
- ColorDialog.cs
- AuthenticatingEventArgs.cs
- DurableRuntimeValidator.cs
- HttpInputStream.cs
- XamlReader.cs
- PropertyKey.cs
- PropertyValueChangedEvent.cs
- InkCanvasSelectionAdorner.cs
- XmlSchemaAttributeGroupRef.cs
- XmlAnyAttributeAttribute.cs
- LinqDataSourceContextData.cs
- NullRuntimeConfig.cs
- UserUseLicenseDictionaryLoader.cs
- QuadraticBezierSegment.cs
- ContourSegment.cs
- SafeRegistryHandle.cs
- COM2AboutBoxPropertyDescriptor.cs
- XComponentModel.cs
- MembershipUser.cs
- IncrementalReadDecoders.cs
- SqlStream.cs
- XmlUtil.cs
- NativeMethods.cs
- StatusBarPanel.cs
- ISFClipboardData.cs
- WebConfigurationHostFileChange.cs