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
- PermissionListSet.cs
- XmlExpressionDumper.cs
- FormattedText.cs
- DataGridViewAdvancedBorderStyle.cs
- InvokeGenerator.cs
- PropertyTab.cs
- BooleanSwitch.cs
- wmiprovider.cs
- UnknownBitmapDecoder.cs
- CollectionViewGroupRoot.cs
- ObjectManager.cs
- XmlKeywords.cs
- TriState.cs
- LostFocusEventManager.cs
- HtmlInputControl.cs
- CompiledIdentityConstraint.cs
- WmfPlaceableFileHeader.cs
- __FastResourceComparer.cs
- XmlDigitalSignatureProcessor.cs
- GPPOINTF.cs
- DayRenderEvent.cs
- DesignerTransaction.cs
- TemplateComponentConnector.cs
- ProtocolElementCollection.cs
- IOException.cs
- OdbcConnectionFactory.cs
- XmlMessageFormatter.cs
- TableLayoutSettings.cs
- HtmlSelect.cs
- EventBuilder.cs
- WebProxyScriptElement.cs
- EntityDataSource.cs
- SmtpException.cs
- UnsafeNativeMethods.cs
- RegistrySecurity.cs
- DataBindingExpressionBuilder.cs
- SystemIPGlobalProperties.cs
- NotificationContext.cs
- ReadWriteSpinLock.cs
- RichListBox.cs
- Mutex.cs
- MaskDesignerDialog.cs
- StandardMenuStripVerb.cs
- HostingEnvironmentSection.cs
- MimeObjectFactory.cs
- AVElementHelper.cs
- Schema.cs
- DataTemplateSelector.cs
- FloaterParagraph.cs
- SelectQueryOperator.cs
- EventMappingSettingsCollection.cs
- CodeTypeDelegate.cs
- SafeRightsManagementPubHandle.cs
- KnownIds.cs
- DataServiceQueryException.cs
- ComplexObject.cs
- LayoutEvent.cs
- GrammarBuilder.cs
- X509RawDataKeyIdentifierClause.cs
- StylusCaptureWithinProperty.cs
- SoapClientMessage.cs
- Parser.cs
- NamedPipeAppDomainProtocolHandler.cs
- SqlFunctionAttribute.cs
- DispatcherFrame.cs
- ResourceKey.cs
- DocumentViewerBaseAutomationPeer.cs
- TextContainerHelper.cs
- ProcessInfo.cs
- FullTextState.cs
- ToolStripItemClickedEventArgs.cs
- SearchForVirtualItemEventArgs.cs
- DesignerAutoFormatCollection.cs
- ContextQuery.cs
- GiveFeedbackEvent.cs
- CodeAttributeDeclarationCollection.cs
- TableProviderWrapper.cs
- DayRenderEvent.cs
- GACMembershipCondition.cs
- LocalizabilityAttribute.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- StyleTypedPropertyAttribute.cs
- CounterCreationDataCollection.cs
- TriggerCollection.cs
- DateTimeSerializationSection.cs
- WebServiceErrorEvent.cs
- TagPrefixAttribute.cs
- ExpressionEditorAttribute.cs
- TableDetailsCollection.cs
- CommandValueSerializer.cs
- FrameworkContextData.cs
- _NegoState.cs
- TimeSpanStorage.cs
- SimpleType.cs
- ChannelManager.cs
- X509Chain.cs
- RtfToXamlReader.cs
- BindingContext.cs
- BamlCollectionHolder.cs
- ChainOfDependencies.cs