Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / WebControls / DetailsViewAutoFormat.cs / 1 / DetailsViewAutoFormat.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.Design.WebControls {
using System.Data;
using System.Design;
using System.Diagnostics;
using System.Drawing;
using System.Globalization;
using System.Text;
using System.Web.UI.WebControls;
internal sealed class DetailsViewAutoFormat : DesignerAutoFormat {
private string headerForeColor;
private string headerBackColor;
private int headerFont;
private string footerForeColor;
private string footerBackColor;
private int footerFont;
private string borderColor;
private string borderWidth;
private int borderStyle = -1;
private int gridLines = -1;
private int cellSpacing;
private int cellPadding = -1;
private string foreColor;
private string backColor;
private string rowForeColor;
private string rowBackColor;
private int itemFont;
private string alternatingRowForeColor;
private string alternatingRowBackColor;
private int alternatingRowFont;
private string commandRowForeColor;
private string commandRowBackColor;
private int commandRowFont;
private string fieldHeaderForeColor;
private string fieldHeaderBackColor;
private int fieldHeaderFont;
private string editRowForeColor;
private string editRowBackColor;
private int editRowFont;
private string pagerForeColor;
private string pagerBackColor;
private int pagerFont;
private int pagerAlign;
private int pagerButtons;
const int FONT_BOLD = 1;
const int FONT_ITALIC = 2;
public DetailsViewAutoFormat(DataRow schemeData) : base(SR.GetString(schemeData["SchemeName"].ToString())) {
Load(schemeData);
}
public override void Apply(Control control) {
Debug.Assert(control is DetailsView, "DetailsViewAutoFormat:ApplyScheme- control is not DetailsView");
if (control is DetailsView) {
Apply(control as DetailsView);
}
}
private void Apply(DetailsView view) {
view.HeaderStyle.ForeColor = ColorTranslator.FromHtml(headerForeColor);
view.HeaderStyle.BackColor = ColorTranslator.FromHtml(headerBackColor);
view.HeaderStyle.Font.Bold = ((headerFont & FONT_BOLD) != 0);
view.HeaderStyle.Font.Italic = ((headerFont & FONT_ITALIC) != 0);
view.HeaderStyle.Font.ClearDefaults();
view.FooterStyle.ForeColor = ColorTranslator.FromHtml(footerForeColor);
view.FooterStyle.BackColor = ColorTranslator.FromHtml(footerBackColor);
view.FooterStyle.Font.Bold = ((footerFont & FONT_BOLD) != 0);
view.FooterStyle.Font.Italic = ((footerFont & FONT_ITALIC) != 0);
view.FooterStyle.Font.ClearDefaults();
view.BorderWidth = new Unit(borderWidth, CultureInfo.InvariantCulture);
switch (gridLines) {
case 0: view.GridLines = GridLines.None; break;
case 1: view.GridLines = GridLines.Horizontal; break;
case 2: view.GridLines = GridLines.Vertical; break;
case 3: view.GridLines = GridLines.Both; break;
default:
view.GridLines = GridLines.Both; break;
}
if ((borderStyle >= 0) && (borderStyle <= 9)) {
view.BorderStyle = (System.Web.UI.WebControls.BorderStyle)borderStyle;
}
else {
view.BorderStyle = System.Web.UI.WebControls.BorderStyle.NotSet;
}
view.BorderColor = ColorTranslator.FromHtml(borderColor);
view.CellPadding = cellPadding;
view.CellSpacing = cellSpacing;
view.ForeColor = ColorTranslator.FromHtml(foreColor);
view.BackColor = ColorTranslator.FromHtml(backColor);
view.RowStyle.ForeColor = ColorTranslator.FromHtml(rowForeColor);
view.RowStyle.BackColor = ColorTranslator.FromHtml(rowBackColor);
view.RowStyle.Font.Bold = ((itemFont & FONT_BOLD) != 0);
view.RowStyle.Font.Italic = ((itemFont & FONT_ITALIC) != 0);
view.RowStyle.Font.ClearDefaults();
view.AlternatingRowStyle.ForeColor = ColorTranslator.FromHtml(alternatingRowForeColor);
view.AlternatingRowStyle.BackColor = ColorTranslator.FromHtml(alternatingRowBackColor);
view.AlternatingRowStyle.Font.Bold = ((alternatingRowFont & FONT_BOLD) != 0);
view.AlternatingRowStyle.Font.Italic = ((alternatingRowFont & FONT_ITALIC) != 0);
view.AlternatingRowStyle.Font.ClearDefaults();
view.CommandRowStyle.ForeColor = ColorTranslator.FromHtml(commandRowForeColor);
view.CommandRowStyle.BackColor = ColorTranslator.FromHtml(commandRowBackColor);
view.CommandRowStyle.Font.Bold = ((commandRowFont & FONT_BOLD) != 0);
view.CommandRowStyle.Font.Italic = ((commandRowFont & FONT_ITALIC) != 0);
view.CommandRowStyle.Font.ClearDefaults();
view.FieldHeaderStyle.ForeColor = ColorTranslator.FromHtml(fieldHeaderForeColor);
view.FieldHeaderStyle.BackColor = ColorTranslator.FromHtml(fieldHeaderBackColor);
view.FieldHeaderStyle.Font.Bold = ((fieldHeaderFont & FONT_BOLD) != 0);
view.FieldHeaderStyle.Font.Italic = ((fieldHeaderFont & FONT_ITALIC) != 0);
view.FieldHeaderStyle.Font.ClearDefaults();
view.EditRowStyle.ForeColor = ColorTranslator.FromHtml(editRowForeColor);
view.EditRowStyle.BackColor = ColorTranslator.FromHtml(editRowBackColor);
view.EditRowStyle.Font.Bold = ((editRowFont & FONT_BOLD) != 0);
view.EditRowStyle.Font.Italic = ((editRowFont & FONT_ITALIC) != 0);
view.EditRowStyle.Font.ClearDefaults();
view.PagerStyle.ForeColor = ColorTranslator.FromHtml(pagerForeColor);
view.PagerStyle.BackColor = ColorTranslator.FromHtml(pagerBackColor);
view.PagerStyle.Font.Bold = ((pagerFont & FONT_BOLD) != 0);
view.PagerStyle.Font.Italic = ((pagerFont & FONT_ITALIC) != 0);
view.PagerStyle.HorizontalAlign = (HorizontalAlign)pagerAlign;
view.PagerStyle.Font.ClearDefaults();
view.PagerSettings.Mode = (PagerButtons)pagerButtons;
}
private int GetIntProperty(string propertyTag, DataRow schemeData) {
object data = schemeData[propertyTag];
if ((data != null) && !data.Equals(DBNull.Value))
return Int32.Parse(data.ToString(), CultureInfo.InvariantCulture);
else
return 0;
}
private int GetIntProperty(string propertyTag, int defaultValue, DataRow schemeData) {
object data = schemeData[propertyTag];
if ((data != null) && !data.Equals(DBNull.Value))
return Int32.Parse(data.ToString(), CultureInfo.InvariantCulture);
else
return defaultValue;
}
private string GetStringProperty(string propertyTag, DataRow schemeData) {
object data = schemeData[propertyTag];
if ((data != null) && !data.Equals(DBNull.Value))
return data.ToString();
else
return String.Empty;
}
private void Load(DataRow schemeData) {
Debug.Assert(schemeData != null);
foreColor = GetStringProperty("ForeColor", schemeData);
backColor = GetStringProperty("BackColor", schemeData);
borderColor = GetStringProperty("BorderColor", schemeData);
borderWidth = GetStringProperty("BorderWidth", schemeData);
borderStyle = GetIntProperty("BorderStyle", -1, schemeData);
cellSpacing = GetIntProperty("CellSpacing", schemeData);
cellPadding = GetIntProperty("CellPadding", -1, schemeData);
gridLines = GetIntProperty("GridLines", -1, schemeData);
rowForeColor = GetStringProperty("RowForeColor", schemeData);
rowBackColor = GetStringProperty("RowBackColor", schemeData);
itemFont = GetIntProperty("RowFont", schemeData);
alternatingRowForeColor = GetStringProperty("AltRowForeColor", schemeData);
alternatingRowBackColor = GetStringProperty("AltRowBackColor", schemeData);
alternatingRowFont = GetIntProperty("AltRowFont", schemeData);
commandRowForeColor = GetStringProperty("CommandRowForeColor", schemeData);
commandRowBackColor = GetStringProperty("CommandRowBackColor", schemeData);
commandRowFont = GetIntProperty("CommandRowFont", schemeData);
fieldHeaderForeColor = GetStringProperty("FieldHeaderForeColor", schemeData);
fieldHeaderBackColor = GetStringProperty("FieldHeaderBackColor", schemeData);
fieldHeaderFont = GetIntProperty("FieldHeaderFont", schemeData);
editRowForeColor = GetStringProperty("EditRowForeColor", schemeData);
editRowBackColor = GetStringProperty("EditRowBackColor", schemeData);
editRowFont = GetIntProperty("EditRowFont", schemeData);
headerForeColor = GetStringProperty("HeaderForeColor", schemeData);
headerBackColor = GetStringProperty("HeaderBackColor", schemeData);
headerFont = GetIntProperty("HeaderFont", schemeData);
footerForeColor = GetStringProperty("FooterForeColor", schemeData);
footerBackColor = GetStringProperty("FooterBackColor", schemeData);
footerFont = GetIntProperty("FooterFont", schemeData);
pagerForeColor = GetStringProperty("PagerForeColor", schemeData);
pagerBackColor = GetStringProperty("PagerBackColor", schemeData);
pagerFont = GetIntProperty("PagerFont", schemeData);
pagerAlign = GetIntProperty("PagerAlign", schemeData);
pagerButtons = GetIntProperty("PagerButtons", 1, schemeData);
}
}
}
// 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
- EventSourceCreationData.cs
- FrameworkContentElement.cs
- TextDocumentView.cs
- ParseNumbers.cs
- BitVector32.cs
- XmlSigningNodeWriter.cs
- DivideByZeroException.cs
- DesignTimeParseData.cs
- ToolBar.cs
- SqlResolver.cs
- WebPartVerb.cs
- IIS7WorkerRequest.cs
- TimeSpan.cs
- SelectionItemPatternIdentifiers.cs
- PerformanceCounterPermission.cs
- FunctionMappingTranslator.cs
- SchemaComplexType.cs
- X509ChainPolicy.cs
- Command.cs
- Int64Animation.cs
- DiscreteKeyFrames.cs
- PrinterUnitConvert.cs
- ProfilePropertySettingsCollection.cs
- MULTI_QI.cs
- FixedSchema.cs
- X509Certificate2Collection.cs
- ExpressionVisitor.cs
- DBSqlParserTableCollection.cs
- ValidationPropertyAttribute.cs
- StackOverflowException.cs
- BaseCAMarshaler.cs
- TrueReadOnlyCollection.cs
- ByteStreamGeometryContext.cs
- DescriptionAttribute.cs
- BrowserTree.cs
- FileDialog_Vista.cs
- FilteredAttributeCollection.cs
- WCFModelStrings.Designer.cs
- EntityWrapperFactory.cs
- ReadOnlyDataSource.cs
- _Rfc2616CacheValidators.cs
- COM2PictureConverter.cs
- SQLDecimal.cs
- AssemblyAttributes.cs
- DataGridViewBindingCompleteEventArgs.cs
- TimeEnumHelper.cs
- AuthenticationSection.cs
- TextEndOfLine.cs
- CipherData.cs
- CodePropertyReferenceExpression.cs
- TypeInfo.cs
- ObjectListCommandEventArgs.cs
- BaseTemplateBuildProvider.cs
- Random.cs
- CalendarKeyboardHelper.cs
- BaseParagraph.cs
- SqlConnectionFactory.cs
- ParserContext.cs
- IItemContainerGenerator.cs
- HttpRawResponse.cs
- XsltArgumentList.cs
- ConfigurationPermission.cs
- DataSetViewSchema.cs
- BordersPage.cs
- StateDesigner.TransitionInfo.cs
- GridSplitter.cs
- AuthenticodeSignatureInformation.cs
- ExecutionScope.cs
- ViewDesigner.cs
- Decorator.cs
- LocatorPartList.cs
- DomainConstraint.cs
- CreatingCookieEventArgs.cs
- ValidationErrorCollection.cs
- ControlCachePolicy.cs
- ToolboxComponentsCreatedEventArgs.cs
- COM2DataTypeToManagedDataTypeConverter.cs
- DownloadProgressEventArgs.cs
- _SslState.cs
- ProcessManager.cs
- XmlUrlResolver.cs
- _NativeSSPI.cs
- VSWCFServiceContractGenerator.cs
- PropertyGrid.cs
- TextFormatter.cs
- FixedPageAutomationPeer.cs
- Sql8ExpressionRewriter.cs
- DataGridTable.cs
- DataExpression.cs
- CharEntityEncoderFallback.cs
- TraceAsyncResult.cs
- ChannelBinding.cs
- EntityProviderServices.cs
- TreeNodeCollection.cs
- IdentitySection.cs
- DoubleLink.cs
- CurrentChangingEventArgs.cs
- TypographyProperties.cs
- FixedHyperLink.cs
- mda.cs