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
- AnnotationAuthorChangedEventArgs.cs
- MetadataItemEmitter.cs
- EncoderFallback.cs
- MessageBox.cs
- ConfigPathUtility.cs
- ChtmlTextWriter.cs
- MessageSecurityOverMsmqElement.cs
- NativeMethods.cs
- PrtTicket_Base.cs
- OutputCacheSettingsSection.cs
- WhileDesigner.cs
- ConfigXmlElement.cs
- PrintController.cs
- Merger.cs
- IPPacketInformation.cs
- AssemblyBuilder.cs
- RegexCompiler.cs
- HatchBrush.cs
- UnhandledExceptionEventArgs.cs
- BrowserCapabilitiesCompiler.cs
- VirtualDirectoryMappingCollection.cs
- String.cs
- TextSpan.cs
- MultiView.cs
- ProfileInfo.cs
- ElapsedEventArgs.cs
- JoinGraph.cs
- MenuAutoFormat.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- PermissionListSet.cs
- XmlEventCache.cs
- WindowsListView.cs
- ListItemCollection.cs
- ReflectionHelper.cs
- SQLConvert.cs
- ToolStripSettings.cs
- Highlights.cs
- XmlSerializationWriter.cs
- DbConnectionPoolCounters.cs
- XmlTextAttribute.cs
- Vector3DAnimationBase.cs
- PropertyIdentifier.cs
- MouseCaptureWithinProperty.cs
- ScrollData.cs
- NewItemsContextMenuStrip.cs
- CollectionContainer.cs
- AttributeProviderAttribute.cs
- NoPersistHandle.cs
- NullableDecimalMinMaxAggregationOperator.cs
- InvalidOleVariantTypeException.cs
- PageTheme.cs
- httpstaticobjectscollection.cs
- arclist.cs
- SmtpNetworkElement.cs
- ScopelessEnumAttribute.cs
- AssemblyResourceLoader.cs
- SkipQueryOptionExpression.cs
- ReliableChannelFactory.cs
- WebWorkflowRole.cs
- CodeCommentStatement.cs
- ModelVisual3D.cs
- PreviousTrackingServiceAttribute.cs
- ApplicationInfo.cs
- TabControlCancelEvent.cs
- ServiceRouteHandler.cs
- RouteItem.cs
- MailMessage.cs
- AsyncDataRequest.cs
- SpeechRecognitionEngine.cs
- TextDecoration.cs
- TransformerInfoCollection.cs
- MobileTemplatedControlDesigner.cs
- _AutoWebProxyScriptWrapper.cs
- DirectoryInfo.cs
- _ConnectionGroup.cs
- DesignerDataStoredProcedure.cs
- XmlSchemaValidator.cs
- listitem.cs
- ParameterInfo.cs
- StringUtil.cs
- QilFunction.cs
- CheckBoxPopupAdapter.cs
- TypeDescriptor.cs
- StaticTextPointer.cs
- AffineTransform3D.cs
- HandledEventArgs.cs
- CellParagraph.cs
- precedingsibling.cs
- IndicShape.cs
- XmlSchemaAppInfo.cs
- ErrorTableItemStyle.cs
- BitmapFrameEncode.cs
- ParentQuery.cs
- Atom10FormatterFactory.cs
- InputMethodStateChangeEventArgs.cs
- TypeElement.cs
- CredentialCache.cs
- UserMapPath.cs
- _Events.cs
- BigInt.cs