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
- BindingCompleteEventArgs.cs
- Base64Encoder.cs
- ZoneButton.cs
- TypefaceCollection.cs
- ColorConvertedBitmap.cs
- _LocalDataStore.cs
- VariableValue.cs
- ConfigXmlSignificantWhitespace.cs
- OlePropertyStructs.cs
- MailWriter.cs
- ButtonChrome.cs
- mactripleDES.cs
- Calendar.cs
- Span.cs
- GeometryGroup.cs
- SignerInfo.cs
- RMEnrollmentPage1.cs
- XmlStreamStore.cs
- TimeSpanValidatorAttribute.cs
- BitmapMetadataEnumerator.cs
- TdsEnums.cs
- WebPartHelpVerb.cs
- Comparer.cs
- XmlNamespaceDeclarationsAttribute.cs
- SelectionChangedEventArgs.cs
- JoinQueryOperator.cs
- MasterPageCodeDomTreeGenerator.cs
- AttributeQuery.cs
- DataBinding.cs
- MetafileHeader.cs
- ProviderConnectionPointCollection.cs
- KeySpline.cs
- Baml6Assembly.cs
- ContextMenuAutomationPeer.cs
- ComponentResourceManager.cs
- ComplexObject.cs
- EditorAttribute.cs
- AffineTransform3D.cs
- regiisutil.cs
- QEncodedStream.cs
- WSHttpBindingCollectionElement.cs
- XmlWriterSettings.cs
- CodeExporter.cs
- ClientApiGenerator.cs
- CodeTypeConstructor.cs
- UserControl.cs
- TimeZoneInfo.cs
- EventTask.cs
- __ConsoleStream.cs
- AdornerPresentationContext.cs
- CFGGrammar.cs
- HtmlLabelAdapter.cs
- TypeBuilderInstantiation.cs
- SByte.cs
- TraceData.cs
- COM2Enum.cs
- ResourceKey.cs
- HebrewCalendar.cs
- DataGridViewLinkColumn.cs
- DataRecordObjectView.cs
- SQLDateTime.cs
- UpdatePanelTriggerCollection.cs
- cookiecontainer.cs
- WpfPayload.cs
- View.cs
- OutOfProcStateClientManager.cs
- ListViewDeleteEventArgs.cs
- Drawing.cs
- _ProxyRegBlob.cs
- ManifestResourceInfo.cs
- XmlNodeChangedEventManager.cs
- _NetRes.cs
- ReadOnlyHierarchicalDataSource.cs
- ListControlDesigner.cs
- SortableBindingList.cs
- DotAtomReader.cs
- NotifyIcon.cs
- ExtendedProtectionPolicyElement.cs
- HttpRequest.cs
- RSACryptoServiceProvider.cs
- XamlSerializerUtil.cs
- RequestStatusBarUpdateEventArgs.cs
- XamlTreeBuilder.cs
- TextServicesLoader.cs
- HatchBrush.cs
- Scheduler.cs
- BitmapEffectGroup.cs
- CompilerScopeManager.cs
- RotateTransform.cs
- EventDrivenDesigner.cs
- ShapingEngine.cs
- XsltArgumentList.cs
- HostingPreferredMapPath.cs
- Pens.cs
- PropertyPushdownHelper.cs
- TreeNode.cs
- SecurityAttributeGenerationHelper.cs
- StringExpressionSet.cs
- PeerMaintainer.cs
- List.cs