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
- NameValuePair.cs
- BitmapEffectGeneralTransform.cs
- _NestedSingleAsyncResult.cs
- DecoderBestFitFallback.cs
- ExpressionBindingCollection.cs
- TriggerAction.cs
- Substitution.cs
- Pts.cs
- WebPartPersonalization.cs
- MediaTimeline.cs
- DrawingVisualDrawingContext.cs
- ReferencedAssembly.cs
- ArrangedElement.cs
- XmlSchemaObjectCollection.cs
- InstanceContextMode.cs
- BulletChrome.cs
- QuestionEventArgs.cs
- WorkflowEnvironment.cs
- HttpContext.cs
- DataSpaceManager.cs
- StringValueConverter.cs
- AssemblyHash.cs
- DataGridParentRows.cs
- MetadataArtifactLoaderFile.cs
- AttributeProviderAttribute.cs
- EpmSyndicationContentSerializer.cs
- SymmetricKeyWrap.cs
- SaveRecipientRequest.cs
- cookieexception.cs
- UTF32Encoding.cs
- MSAAEventDispatcher.cs
- DetailsViewPagerRow.cs
- DictionaryEntry.cs
- GroupBoxAutomationPeer.cs
- UnsafeCollabNativeMethods.cs
- InfoCardListRequest.cs
- CqlBlock.cs
- DateTimeConstantAttribute.cs
- NativeMethods.cs
- Int16KeyFrameCollection.cs
- MonthCalendar.cs
- XsdDataContractImporter.cs
- MultiAsyncResult.cs
- SqlDuplicator.cs
- DataTableReaderListener.cs
- DbMetaDataFactory.cs
- SafeNativeMethods.cs
- PrintPreviewControl.cs
- XmlHierarchyData.cs
- HtmlInputRadioButton.cs
- Primitive.cs
- XPathAxisIterator.cs
- RequestCacheValidator.cs
- ParseHttpDate.cs
- StateInitialization.cs
- NetworkCredential.cs
- MemberPathMap.cs
- DecimalStorage.cs
- EditorPart.cs
- PageWrapper.cs
- XmlParserContext.cs
- OutputCacheModule.cs
- AsymmetricSignatureFormatter.cs
- EntitySet.cs
- UDPClient.cs
- RectAnimation.cs
- TableRowCollection.cs
- TableRow.cs
- InlineCollection.cs
- NamedPipeConnectionPoolSettingsElement.cs
- InternalTypeHelper.cs
- ExtensionDataObject.cs
- ItemsPanelTemplate.cs
- AlphabeticalEnumConverter.cs
- FixedSOMPage.cs
- TableRowsCollectionEditor.cs
- List.cs
- LogStream.cs
- Stopwatch.cs
- InkPresenter.cs
- AddInAdapter.cs
- BindToObject.cs
- XmlBufferReader.cs
- TemplateBamlTreeBuilder.cs
- CatalogPart.cs
- SimpleRecyclingCache.cs
- ForceCopyBuildProvider.cs
- DefaultBinder.cs
- LayoutTable.cs
- SeverityFilter.cs
- RTLAwareMessageBox.cs
- DeclaredTypeElement.cs
- SafeLocalMemHandle.cs
- PropertyGrid.cs
- TypeConverter.cs
- TypeSystem.cs
- IpcChannel.cs
- AppDomainShutdownMonitor.cs
- DataGridViewLinkColumn.cs
- Mappings.cs