Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Controls / DataGridClipboardHelper.cs / 1305600 / DataGridClipboardHelper.cs
//----------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//---------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Text;
using System.Windows;
namespace System.Windows.Controls
{
internal static class DataGridClipboardHelper
{
private const string DATAGRIDVIEW_htmlPrefix = "Version:1.0\r\nStartHTML:00000097\r\nEndHTML:{0}\r\nStartFragment:00000133\r\nEndFragment:{1}\r\n";
private const string DATAGRIDVIEW_htmlStartFragment = "\r\n\r\n";
private const string DATAGRIDVIEW_htmlEndFragment = "\r\n\r\n\r\n";
internal static void FormatCell(object cellValue, bool firstCell, bool lastCell, StringBuilder sb, string format)
{
bool csv = string.Equals(format, DataFormats.CommaSeparatedValue, StringComparison.OrdinalIgnoreCase);
if (csv || string.Equals(format, DataFormats.Text, StringComparison.OrdinalIgnoreCase)
|| string.Equals(format, DataFormats.UnicodeText, StringComparison.OrdinalIgnoreCase))
{
if (cellValue != null)
{
bool escapeApplied = false;
int length = sb.Length;
FormatPlainText(cellValue.ToString(), csv, new StringWriter(sb, CultureInfo.CurrentCulture), ref escapeApplied);
if (escapeApplied)
{
sb.Insert(length, '"');
}
}
if (lastCell)
{
// Last cell
sb.Append('\r');
sb.Append('\n');
}
else
{
sb.Append(csv ? ',' : '\t');
}
}
else if (string.Equals(format, DataFormats.Html, StringComparison.OrdinalIgnoreCase))
{
if (firstCell)
{
// First cell - append start of row
sb.Append("");
}
sb.Append(""); // Start cell
if (cellValue != null)
{
FormatPlainTextAsHtml(cellValue.ToString(), new StringWriter(sb, CultureInfo.CurrentCulture));
}
else
{
sb.Append(" ");
}
sb.Append(" "); // End cell
if (lastCell)
{
// Last cell - append end of row
sb.Append(" ");
}
}
}
internal static void GetClipboardContentForHtml(StringBuilder content)
{
content.Insert(0, ""); break; // default: // The seemingly arbitrary 160 comes from RFC if (ch >= 160 && ch < 256) { output.Write(""); output.Write(((int)ch).ToString(NumberFormatInfo.InvariantInfo)); output.Write(';'); } else { output.Write(ch); } break; } prevCh = ch; } } } } // 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
- dbdatarecord.cs
- ResourceCategoryAttribute.cs
- BindingList.cs
- ThicknessAnimationUsingKeyFrames.cs
- JsonReader.cs
- PixelShader.cs
- QuaternionRotation3D.cs
- DockPatternIdentifiers.cs
- ExcludePathInfo.cs
- LayoutEvent.cs
- AutoGeneratedFieldProperties.cs
- BindingExpressionUncommonField.cs
- ProfilePropertySettings.cs
- DomNameTable.cs
- InfoCard.cs
- _HeaderInfoTable.cs
- ContainerAction.cs
- PersonalizationStateQuery.cs
- BamlLocalizableResourceKey.cs
- ACE.cs
- FileSystemWatcher.cs
- HtmlTable.cs
- SqlDependencyListener.cs
- InvokeMethod.cs
- Helpers.cs
- UrlMappingsModule.cs
- DateTimeConverter2.cs
- DataSourceHelper.cs
- XmlResolver.cs
- HighlightVisual.cs
- InvalidDataContractException.cs
- PixelShader.cs
- GlobalEventManager.cs
- BaseDataListActionList.cs
- LassoHelper.cs
- TextTrailingWordEllipsis.cs
- EntityTemplateFactory.cs
- RadioButtonBaseAdapter.cs
- ContactManager.cs
- Message.cs
- OperatingSystemVersionCheck.cs
- ObjectReaderCompiler.cs
- ExpressionVisitorHelpers.cs
- CategoryAttribute.cs
- SafeHandle.cs
- NamedPipeActivation.cs
- WindowsSlider.cs
- DrawListViewSubItemEventArgs.cs
- ResetableIterator.cs
- ItemCheckEvent.cs
- MarkupCompilePass1.cs
- SqlDataSourceCache.cs
- SqlClientFactory.cs
- TrackingProfileManager.cs
- DataGridAutoFormat.cs
- webeventbuffer.cs
- IODescriptionAttribute.cs
- CalendarDateChangedEventArgs.cs
- RouteValueDictionary.cs
- RadioButtonStandardAdapter.cs
- QueryResponse.cs
- NonValidatingSecurityTokenAuthenticator.cs
- TableLayoutPanelCellPosition.cs
- BamlRecordWriter.cs
- QuotedPrintableStream.cs
- PageCatalogPart.cs
- SqlCacheDependencyDatabaseCollection.cs
- SystemResourceKey.cs
- DependencyPropertyConverter.cs
- AssemblyInfo.cs
- WebRequest.cs
- Rectangle.cs
- HMACSHA256.cs
- DrawingContextDrawingContextWalker.cs
- SqlInternalConnectionSmi.cs
- XmlDictionaryWriter.cs
- MatrixAnimationUsingKeyFrames.cs
- ConfigurationSectionGroup.cs
- SqlFlattener.cs
- MultiTrigger.cs
- LoadedOrUnloadedOperation.cs
- ContextActivityUtils.cs
- RectConverter.cs
- ClientSponsor.cs
- DockAndAnchorLayout.cs
- sqlpipe.cs
- StateManagedCollection.cs
- ConfigurationElementProperty.cs
- Propagator.ExtentPlaceholderCreator.cs
- BamlResourceSerializer.cs
- SingleObjectCollection.cs
- TypedElement.cs
- NestPullup.cs
- EventManager.cs
- EdmType.cs
- DataPagerFieldItem.cs
- ResourceReferenceExpression.cs
- ClockController.cs
- ObjectQueryState.cs
- SecurityManager.cs