Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / MS / Internal / Data / XmlNodeComparer.cs / 1305600 / 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 = AssemblyHelper.SelectStringValue(node1, _sortParameters[k].PropertyName, _namespaceManager); string valueY = AssemblyHelper.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
- DocumentXmlWriter.cs
- ToolStripItemCollection.cs
- AccessDataSourceView.cs
- FloaterParagraph.cs
- QueueNameHelper.cs
- SqlDataSourceFilteringEventArgs.cs
- Vector3D.cs
- ExpressionBinding.cs
- Grammar.cs
- CrossSiteScriptingValidation.cs
- DataContractFormatAttribute.cs
- TTSEngineTypes.cs
- InputLangChangeEvent.cs
- SharedHttpsTransportManager.cs
- Models.cs
- Part.cs
- Missing.cs
- LinqDataSourceUpdateEventArgs.cs
- DiscoveryClientChannelFactory.cs
- StringAnimationBase.cs
- PageFunction.cs
- XmlDocument.cs
- SurrogateSelector.cs
- DataGridParentRows.cs
- CreateUserErrorEventArgs.cs
- XmlAttributeAttribute.cs
- DataServiceConfiguration.cs
- WebChannelFactory.cs
- InputLanguageManager.cs
- VarInfo.cs
- DrawListViewColumnHeaderEventArgs.cs
- TTSEngineTypes.cs
- FrameSecurityDescriptor.cs
- SiteMapPath.cs
- ValidationRuleCollection.cs
- TextEditorDragDrop.cs
- BaseAppDomainProtocolHandler.cs
- DataListItemCollection.cs
- XmlTextEncoder.cs
- ComProxy.cs
- FunctionQuery.cs
- BrowserCapabilitiesCodeGenerator.cs
- OdbcConnectionString.cs
- GrabHandleGlyph.cs
- ContextStaticAttribute.cs
- FixedPageProcessor.cs
- FacetChecker.cs
- ObjectCloneHelper.cs
- RelatedImageListAttribute.cs
- LineServicesRun.cs
- TransportChannelFactory.cs
- COM2IDispatchConverter.cs
- ResXFileRef.cs
- RuntimeHandles.cs
- StringSource.cs
- WebCategoryAttribute.cs
- ValidationRuleCollection.cs
- FrameworkReadOnlyPropertyMetadata.cs
- DiagnosticStrings.cs
- StrongName.cs
- WebPartDisplayMode.cs
- WebPartCancelEventArgs.cs
- SqlXml.cs
- HMAC.cs
- SelectingProviderEventArgs.cs
- DataRelationCollection.cs
- RemotingServices.cs
- ElementNotAvailableException.cs
- M3DUtil.cs
- XmlDomTextWriter.cs
- DateRangeEvent.cs
- BitmapMetadataBlob.cs
- ByteStream.cs
- XamlTemplateSerializer.cs
- NamespaceTable.cs
- PointAnimationUsingKeyFrames.cs
- TcpProcessProtocolHandler.cs
- RoleService.cs
- SevenBitStream.cs
- PerformanceCountersElement.cs
- WebMessageBodyStyleHelper.cs
- SemaphoreSecurity.cs
- CodeNamespace.cs
- QueryCacheEntry.cs
- ReturnEventArgs.cs
- DbReferenceCollection.cs
- ContextMenuStripGroupCollection.cs
- ExceptionHelpers.cs
- HttpCookieCollection.cs
- CollectionViewGroupRoot.cs
- RNGCryptoServiceProvider.cs
- HTTPAPI_VERSION.cs
- DataGridViewControlCollection.cs
- UdpTransportBindingElement.cs
- StoryFragments.cs
- CatalogPartChrome.cs
- UnmanagedMemoryStream.cs
- CaseInsensitiveComparer.cs
- ObjectStateManager.cs
- SelectedPathEditor.cs