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
- ConfigurationSection.cs
- TypeDelegator.cs
- DataGridViewSortCompareEventArgs.cs
- Point.cs
- CheckPair.cs
- TextSelection.cs
- SystemUnicastIPAddressInformation.cs
- CacheVirtualItemsEvent.cs
- SpeechDetectedEventArgs.cs
- FormViewUpdateEventArgs.cs
- VisualCollection.cs
- HostedTcpTransportManager.cs
- ListViewTableRow.cs
- CodeGenerationManager.cs
- FontNameConverter.cs
- KeyInstance.cs
- BasicHttpMessageSecurity.cs
- CqlWriter.cs
- Pointer.cs
- ToolboxComponentsCreatedEventArgs.cs
- CheckableControlBaseAdapter.cs
- Ref.cs
- SoapExtension.cs
- PeerCredential.cs
- StylusPointCollection.cs
- WindowsSpinner.cs
- CopyOfAction.cs
- ClaimSet.cs
- ConfigurationPropertyCollection.cs
- RewritingPass.cs
- SystemIPv6InterfaceProperties.cs
- PasswordRecovery.cs
- odbcmetadatafactory.cs
- DelegatingTypeDescriptionProvider.cs
- Win32KeyboardDevice.cs
- SubordinateTransaction.cs
- ColumnPropertiesGroup.cs
- HwndProxyElementProvider.cs
- StatusBarDesigner.cs
- WsdlBuildProvider.cs
- _Connection.cs
- FlowNode.cs
- Light.cs
- ParserExtension.cs
- CacheMemory.cs
- MethodRental.cs
- TypeLoadException.cs
- Constants.cs
- DPAPIProtectedConfigurationProvider.cs
- RepeatBehaviorConverter.cs
- Options.cs
- brushes.cs
- UniqueIdentifierService.cs
- TextEditor.cs
- AutoCompleteStringCollection.cs
- PrinterUnitConvert.cs
- SqlNodeTypeOperators.cs
- ObjectViewListener.cs
- MergePropertyDescriptor.cs
- StylusShape.cs
- RelationshipType.cs
- EditorBrowsableAttribute.cs
- WorkflowFileItem.cs
- TcpClientChannel.cs
- TableStyle.cs
- ValueTable.cs
- EventLogEntry.cs
- newinstructionaction.cs
- PkcsMisc.cs
- IdentitySection.cs
- DataConnectionHelper.cs
- XamlInt32CollectionSerializer.cs
- OdbcCommandBuilder.cs
- DoubleUtil.cs
- TextEmbeddedObject.cs
- HttpChannelHelper.cs
- SettingsPropertyValue.cs
- X509WindowsSecurityToken.cs
- StrokeCollection.cs
- SizeChangedInfo.cs
- PrincipalPermission.cs
- EncoderFallback.cs
- ParsedAttributeCollection.cs
- DbProviderConfigurationHandler.cs
- DrawingImage.cs
- HttpPostProtocolImporter.cs
- CodeTypeParameterCollection.cs
- PathFigureCollection.cs
- StatusBarPanelClickEvent.cs
- BaseTreeIterator.cs
- BitmapSourceSafeMILHandle.cs
- SqlBulkCopyColumnMappingCollection.cs
- XmlException.cs
- RectConverter.cs
- StylusButton.cs
- DynamicValidatorEventArgs.cs
- CookielessHelper.cs
- ObjectList.cs
- OutputCacheSettingsSection.cs
- DeferrableContentConverter.cs