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
- GraphicsContext.cs
- DataContractJsonSerializerOperationBehavior.cs
- ServiceOperationParameter.cs
- MachineKeyConverter.cs
- Token.cs
- Task.cs
- IPGlobalProperties.cs
- ProfileGroupSettingsCollection.cs
- DragCompletedEventArgs.cs
- QuaternionAnimation.cs
- ConfigurationSectionCollection.cs
- DataTablePropertyDescriptor.cs
- CompileXomlTask.cs
- DescendantOverDescendantQuery.cs
- DirectionalLight.cs
- WebPartPersonalization.cs
- GridViewItemAutomationPeer.cs
- EvidenceTypeDescriptor.cs
- RepeatInfo.cs
- KeyFrames.cs
- Synchronization.cs
- AccessDataSource.cs
- DebuggerAttributes.cs
- SelectedDatesCollection.cs
- UTF32Encoding.cs
- BitConverter.cs
- NameTable.cs
- WeakReferenceList.cs
- FilterException.cs
- ThemeInfoAttribute.cs
- webbrowsersite.cs
- IndentedWriter.cs
- StatusBarDrawItemEvent.cs
- ParameterToken.cs
- DataGrid.cs
- BamlLocalizableResourceKey.cs
- MetadataSource.cs
- EntityDataSourceState.cs
- SystemUnicastIPAddressInformation.cs
- UserControlDesigner.cs
- Trace.cs
- DataIdProcessor.cs
- SiteMapDataSourceView.cs
- RuleRefElement.cs
- RulePatternOps.cs
- FileNotFoundException.cs
- ResourcePool.cs
- RowToParametersTransformer.cs
- Ipv6Element.cs
- SafeNativeMethodsMilCoreApi.cs
- ListViewItemCollectionEditor.cs
- XmlSchemaSimpleType.cs
- _HTTPDateParse.cs
- ConsoleCancelEventArgs.cs
- BinHexDecoder.cs
- ExeConfigurationFileMap.cs
- StackOverflowException.cs
- HtmlControl.cs
- DataContractSet.cs
- ListBoxChrome.cs
- SqlInternalConnectionTds.cs
- ImageBrush.cs
- IsolatedStorage.cs
- KeyNotFoundException.cs
- Membership.cs
- QuestionEventArgs.cs
- KeyPullup.cs
- RenderOptions.cs
- MenuItemCollection.cs
- HttpContextServiceHost.cs
- Accessible.cs
- _LocalDataStore.cs
- DataGridCommandEventArgs.cs
- DiscoveryMessageSequence.cs
- DesignerProperties.cs
- ColorConvertedBitmapExtension.cs
- Size3DConverter.cs
- TextClipboardData.cs
- OwnerDrawPropertyBag.cs
- objectresult_tresulttype.cs
- LineUtil.cs
- ViewStateModeByIdAttribute.cs
- RoutingChannelExtension.cs
- RenderData.cs
- MetaModel.cs
- DrawingGroup.cs
- reliableinputsessionchannel.cs
- UIElementCollection.cs
- KeyFrames.cs
- SmtpFailedRecipientsException.cs
- DataGridViewRowHeaderCell.cs
- UnknownWrapper.cs
- PointAnimationUsingKeyFrames.cs
- EventSourceCreationData.cs
- BinarySerializer.cs
- control.ime.cs
- FileDialog_Vista_Interop.cs
- WeakReadOnlyCollection.cs
- SqlUnionizer.cs
- ReadOnlyHierarchicalDataSourceView.cs