Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- CodeCatchClauseCollection.cs
- Speller.cs
- DataGridItemCollection.cs
- Rect3D.cs
- QilXmlReader.cs
- WizardForm.cs
- WebPartEditorOkVerb.cs
- Queue.cs
- TrackingLocationCollection.cs
- XmlCompatibilityReader.cs
- SourceElementsCollection.cs
- FlowPosition.cs
- RawStylusInputCustomData.cs
- DummyDataSource.cs
- PageCatalogPart.cs
- MobileTemplatedControlDesigner.cs
- dataSvcMapFileLoader.cs
- SourceFileInfo.cs
- HitTestWithGeometryDrawingContextWalker.cs
- Border.cs
- RelationshipConverter.cs
- FileDialog.cs
- OleDbException.cs
- _Events.cs
- WindowsButton.cs
- AlternateView.cs
- ErrorItem.cs
- ImpersonationContext.cs
- MonikerBuilder.cs
- PrintController.cs
- PeerNodeTraceRecord.cs
- AppModelKnownContentFactory.cs
- DescendentsWalkerBase.cs
- ByteStreamMessageEncodingElement.cs
- Classification.cs
- DocumentViewerHelper.cs
- DataGridViewCellPaintingEventArgs.cs
- ConfigXmlCDataSection.cs
- Menu.cs
- ListChangedEventArgs.cs
- ParserHooks.cs
- PlainXmlDeserializer.cs
- SocketElement.cs
- InterleavedZipPartStream.cs
- TripleDES.cs
- SequentialUshortCollection.cs
- AssertSection.cs
- SafeFileHandle.cs
- SerializationUtilities.cs
- TableRowCollection.cs
- Point3D.cs
- DataPagerFieldItem.cs
- DataRecordObjectView.cs
- LockedHandleGlyph.cs
- LocalizationParserHooks.cs
- DbMetaDataFactory.cs
- StrongTypingException.cs
- BitmapEffectInput.cs
- EventOpcode.cs
- DebugHandleTracker.cs
- SmtpFailedRecipientException.cs
- PaginationProgressEventArgs.cs
- PartialClassGenerationTask.cs
- FontStyleConverter.cs
- WebPartZoneCollection.cs
- FlowchartDesigner.Helpers.cs
- WebServiceParameterData.cs
- InvalidPropValue.cs
- DrawingDrawingContext.cs
- File.cs
- LinqDataSourceSelectEventArgs.cs
- DES.cs
- OdbcStatementHandle.cs
- WrappedIUnknown.cs
- DataGridViewTextBoxColumn.cs
- FileDialogCustomPlace.cs
- ClientFormsAuthenticationCredentials.cs
- InheritablePropertyChangeInfo.cs
- SqlClientFactory.cs
- SqlDependencyUtils.cs
- RectAnimation.cs
- ISAPIApplicationHost.cs
- EmbeddedMailObjectsCollection.cs
- OleDbStruct.cs
- InstancePersistence.cs
- ValueExpressions.cs
- OdbcConnectionFactory.cs
- CodeAccessPermission.cs
- PageAsyncTask.cs
- SessionEndingCancelEventArgs.cs
- CreateInstanceBinder.cs
- TextChangedEventArgs.cs
- ReadOnlyHierarchicalDataSourceView.cs
- AttributeTable.cs
- VarInfo.cs
- SspiSecurityTokenProvider.cs
- TaskScheduler.cs
- QueryAsyncResult.cs
- WmlPhoneCallAdapter.cs
- PointLightBase.cs