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
- InputScopeNameConverter.cs
- ContentElement.cs
- GridViewColumn.cs
- DesignerRegion.cs
- ReadOnlyDataSourceView.cs
- EditorAttribute.cs
- SafeEventLogWriteHandle.cs
- DataColumnMapping.cs
- FixedStringLookup.cs
- PlatformCulture.cs
- formatter.cs
- DrawingCollection.cs
- TextTreeRootTextBlock.cs
- XmlKeywords.cs
- MimeBasePart.cs
- RotateTransform.cs
- DataGridViewLinkCell.cs
- HMACSHA1.cs
- PolicyStatement.cs
- UriTemplateTable.cs
- ApplicationInfo.cs
- _RequestCacheProtocol.cs
- _ConnectOverlappedAsyncResult.cs
- TypeDescriptorFilterService.cs
- RootProfilePropertySettingsCollection.cs
- Visitor.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- ColumnBinding.cs
- RuntimeWrappedException.cs
- BooleanStorage.cs
- Size3DConverter.cs
- AspNetCompatibilityRequirementsMode.cs
- PtsPage.cs
- ReaderWriterLockWrapper.cs
- SchemaEntity.cs
- ChangesetResponse.cs
- VariableQuery.cs
- Trace.cs
- SqlConnectionString.cs
- HttpConfigurationContext.cs
- BindingListCollectionView.cs
- DataTemplateSelector.cs
- UIElementAutomationPeer.cs
- PropertyHelper.cs
- QilPatternVisitor.cs
- SrgsElementList.cs
- DataSourceExpression.cs
- ChooseAction.cs
- SqlCommand.cs
- PropertyDescriptorCollection.cs
- Message.cs
- DEREncoding.cs
- FormViewCommandEventArgs.cs
- xamlnodes.cs
- TextTreePropertyUndoUnit.cs
- ConnectionConsumerAttribute.cs
- XmlSerializableWriter.cs
- ThreadExceptionEvent.cs
- ExtensionDataObject.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- PowerStatus.cs
- Win32PrintDialog.cs
- CodeDefaultValueExpression.cs
- KnownBoxes.cs
- WindowsBrush.cs
- WindowsGraphics.cs
- UnsafeNativeMethods.cs
- CompositeDataBoundControl.cs
- ConfigurationStrings.cs
- CheckBoxField.cs
- Privilege.cs
- CompositionAdorner.cs
- SetIterators.cs
- CustomLineCap.cs
- NullableDecimalMinMaxAggregationOperator.cs
- AtlasWeb.Designer.cs
- indexingfiltermarshaler.cs
- BindingListCollectionView.cs
- DataGridViewCellFormattingEventArgs.cs
- BrowserCapabilitiesCodeGenerator.cs
- XPathExpr.cs
- HybridWebProxyFinder.cs
- TransformerTypeCollection.cs
- OutputCacheSection.cs
- LayoutUtils.cs
- SqlConnectionStringBuilder.cs
- TransformValueSerializer.cs
- Semaphore.cs
- CodeMemberProperty.cs
- ViewCellSlot.cs
- AxHost.cs
- ComplexLine.cs
- StatusBarItem.cs
- PageOutputColor.cs
- BitmapCache.cs
- ApplicationBuildProvider.cs
- RichTextBox.cs
- XmlTextWriter.cs
- CFStream.cs
- DPTypeDescriptorContext.cs