Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / UI / WebControls / BoundColumn.cs / 1 / BoundColumn.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.ComponentModel;
using System.Globalization;
using System.Web;
using System.Web.UI;
using System.Security.Permissions;
using System.Web.Util;
///
/// Creates a column bounded to a data field in a .
///
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public class BoundColumn : DataGridColumn {
///
/// Specifies a string that represents "this". This field is read-only.
///
public static readonly string thisExpr = "!";
private PropertyDescriptor boundFieldDesc;
private bool boundFieldDescValid;
private string boundField;
private string formatting;
///
/// Initializes a new instance of a class.
///
public BoundColumn() {
}
///
/// Gets or sets the field name from the data model bound to this column.
///
[
WebCategory("Data"),
DefaultValue(""),
WebSysDescription(SR.BoundColumn_DataField)
]
public virtual string DataField {
get {
object o = ViewState["DataField"];
if (o != null)
return (string)o;
return String.Empty;
}
set {
ViewState["DataField"] = value;
OnColumnChanged();
}
}
///
/// Gets or sets the display format of data in this
/// column.
///
[
WebCategory("Behavior"),
DefaultValue(""),
WebSysDescription(SR.BoundColumn_DataFormatString)
]
public virtual string DataFormatString {
get {
object o = ViewState["DataFormatString"];
if (o != null)
return (string)o;
return String.Empty;
}
set {
ViewState["DataFormatString"] = value;
OnColumnChanged();
}
}
///
/// Gets or sets the property that prevents modification to data
/// in this column.
///
[
WebCategory("Behavior"),
DefaultValue(false),
WebSysDescription(SR.BoundColumn_ReadOnly)
]
public virtual bool ReadOnly {
get {
object o = ViewState["ReadOnly"];
if (o != null)
return (bool)o;
return false;
}
set {
ViewState["ReadOnly"] = value;
OnColumnChanged();
}
}
///
///
protected virtual string FormatDataValue(object dataValue) {
string formattedValue = String.Empty;
if (!DataBinder.IsNull(dataValue)) {
if (formatting.Length == 0) {
formattedValue = dataValue.ToString();
}
else {
formattedValue = String.Format(CultureInfo.CurrentCulture, formatting, dataValue);
}
}
return formattedValue;
}
///
///
public override void Initialize() {
base.Initialize();
boundFieldDesc = null;
boundFieldDescValid = false;
boundField = DataField;
formatting = DataFormatString;
}
///
/// Initializes a cell in the DataGridColumn.
///
public override void InitializeCell(TableCell cell, int columnIndex, ListItemType itemType) {
base.InitializeCell(cell, columnIndex, itemType);
Control childControl = null;
Control boundControl = null;
switch (itemType) {
case ListItemType.Header:
case ListItemType.Footer:
break;
case ListItemType.Item:
case ListItemType.AlternatingItem:
case ListItemType.SelectedItem:
if (DataField.Length != 0) {
boundControl = cell;
}
break;
case ListItemType.EditItem:
if (ReadOnly == true) {
goto case ListItemType.Item;
}
else {
//
TextBox editor = new TextBox();
childControl = editor;
if (boundField.Length != 0) {
boundControl = editor;
}
}
break;
}
if (childControl != null) {
cell.Controls.Add(childControl);
}
if (boundControl != null) {
boundControl.DataBinding += new EventHandler(this.OnDataBindColumn);
}
}
///
///
private void OnDataBindColumn(object sender, EventArgs e) {
Debug.Assert(DataField.Length != 0, "Shouldn't be DataBinding without a DataField");
Control boundControl = (Control)sender;
DataGridItem item = (DataGridItem)boundControl.NamingContainer;
object dataItem = item.DataItem;
if (boundFieldDescValid == false) {
if (!boundField.Equals(thisExpr)) {
boundFieldDesc = TypeDescriptor.GetProperties(dataItem).Find(boundField, true);
if ((boundFieldDesc == null) && !DesignMode) {
throw new HttpException(SR.GetString(SR.Field_Not_Found, boundField));
}
}
boundFieldDescValid = true;
}
object data = dataItem;
string dataValue;
if ((boundFieldDesc == null) && DesignMode) {
dataValue = SR.GetString(SR.Sample_Databound_Text);
}
else {
if (boundFieldDesc != null) {
data = boundFieldDesc.GetValue(dataItem);
}
dataValue = FormatDataValue(data);
}
if (boundControl is TableCell) {
if (dataValue.Length == 0) {
dataValue = " ";
}
((TableCell)boundControl).Text = dataValue;
}
else {
Debug.Assert(boundControl is TextBox, "Expected the bound control to be a TextBox");
((TextBox)boundControl).Text = dataValue;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.ComponentModel;
using System.Globalization;
using System.Web;
using System.Web.UI;
using System.Security.Permissions;
using System.Web.Util;
///
/// Creates a column bounded to a data field in a .
///
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public class BoundColumn : DataGridColumn {
///
/// Specifies a string that represents "this". This field is read-only.
///
public static readonly string thisExpr = "!";
private PropertyDescriptor boundFieldDesc;
private bool boundFieldDescValid;
private string boundField;
private string formatting;
///
/// Initializes a new instance of a class.
///
public BoundColumn() {
}
///
/// Gets or sets the field name from the data model bound to this column.
///
[
WebCategory("Data"),
DefaultValue(""),
WebSysDescription(SR.BoundColumn_DataField)
]
public virtual string DataField {
get {
object o = ViewState["DataField"];
if (o != null)
return (string)o;
return String.Empty;
}
set {
ViewState["DataField"] = value;
OnColumnChanged();
}
}
///
/// Gets or sets the display format of data in this
/// column.
///
[
WebCategory("Behavior"),
DefaultValue(""),
WebSysDescription(SR.BoundColumn_DataFormatString)
]
public virtual string DataFormatString {
get {
object o = ViewState["DataFormatString"];
if (o != null)
return (string)o;
return String.Empty;
}
set {
ViewState["DataFormatString"] = value;
OnColumnChanged();
}
}
///
/// Gets or sets the property that prevents modification to data
/// in this column.
///
[
WebCategory("Behavior"),
DefaultValue(false),
WebSysDescription(SR.BoundColumn_ReadOnly)
]
public virtual bool ReadOnly {
get {
object o = ViewState["ReadOnly"];
if (o != null)
return (bool)o;
return false;
}
set {
ViewState["ReadOnly"] = value;
OnColumnChanged();
}
}
///
///
protected virtual string FormatDataValue(object dataValue) {
string formattedValue = String.Empty;
if (!DataBinder.IsNull(dataValue)) {
if (formatting.Length == 0) {
formattedValue = dataValue.ToString();
}
else {
formattedValue = String.Format(CultureInfo.CurrentCulture, formatting, dataValue);
}
}
return formattedValue;
}
///
///
public override void Initialize() {
base.Initialize();
boundFieldDesc = null;
boundFieldDescValid = false;
boundField = DataField;
formatting = DataFormatString;
}
///
/// Initializes a cell in the DataGridColumn.
///
public override void InitializeCell(TableCell cell, int columnIndex, ListItemType itemType) {
base.InitializeCell(cell, columnIndex, itemType);
Control childControl = null;
Control boundControl = null;
switch (itemType) {
case ListItemType.Header:
case ListItemType.Footer:
break;
case ListItemType.Item:
case ListItemType.AlternatingItem:
case ListItemType.SelectedItem:
if (DataField.Length != 0) {
boundControl = cell;
}
break;
case ListItemType.EditItem:
if (ReadOnly == true) {
goto case ListItemType.Item;
}
else {
//
TextBox editor = new TextBox();
childControl = editor;
if (boundField.Length != 0) {
boundControl = editor;
}
}
break;
}
if (childControl != null) {
cell.Controls.Add(childControl);
}
if (boundControl != null) {
boundControl.DataBinding += new EventHandler(this.OnDataBindColumn);
}
}
///
///
private void OnDataBindColumn(object sender, EventArgs e) {
Debug.Assert(DataField.Length != 0, "Shouldn't be DataBinding without a DataField");
Control boundControl = (Control)sender;
DataGridItem item = (DataGridItem)boundControl.NamingContainer;
object dataItem = item.DataItem;
if (boundFieldDescValid == false) {
if (!boundField.Equals(thisExpr)) {
boundFieldDesc = TypeDescriptor.GetProperties(dataItem).Find(boundField, true);
if ((boundFieldDesc == null) && !DesignMode) {
throw new HttpException(SR.GetString(SR.Field_Not_Found, boundField));
}
}
boundFieldDescValid = true;
}
object data = dataItem;
string dataValue;
if ((boundFieldDesc == null) && DesignMode) {
dataValue = SR.GetString(SR.Sample_Databound_Text);
}
else {
if (boundFieldDesc != null) {
data = boundFieldDesc.GetValue(dataItem);
}
dataValue = FormatDataValue(data);
}
if (boundControl is TableCell) {
if (dataValue.Length == 0) {
dataValue = " ";
}
((TableCell)boundControl).Text = dataValue;
}
else {
Debug.Assert(boundControl is TextBox, "Expected the bound control to be a TextBox");
((TextBox)boundControl).Text = dataValue;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BaseParser.cs
- GeneralTransform3DTo2DTo3D.cs
- ClientConvert.cs
- ConfigViewGenerator.cs
- NoPersistScope.cs
- RijndaelManagedTransform.cs
- XmlCodeExporter.cs
- TypeDescriptionProviderAttribute.cs
- Stroke.cs
- ObjectPersistData.cs
- SynchronizationFilter.cs
- DragDrop.cs
- DataObjectCopyingEventArgs.cs
- StdValidatorsAndConverters.cs
- ToolStripStatusLabel.cs
- PreviewKeyDownEventArgs.cs
- DecimalAnimation.cs
- ManifestSignatureInformation.cs
- ChangePassword.cs
- BaseProcessProtocolHandler.cs
- VirtualPathProvider.cs
- Brushes.cs
- SqlDataReaderSmi.cs
- EncryptedPackageFilter.cs
- DataPointer.cs
- DataGridViewUtilities.cs
- Filter.cs
- ScrollChrome.cs
- SourceFileInfo.cs
- RenderingEventArgs.cs
- SpecularMaterial.cs
- XmlSchemaElement.cs
- SecureEnvironment.cs
- ExpanderAutomationPeer.cs
- PopupRoot.cs
- ListViewGroupItemCollection.cs
- TableSectionStyle.cs
- ListBindingHelper.cs
- GenericEnumerator.cs
- TrustSection.cs
- WebPartExportVerb.cs
- FormDesigner.cs
- FragmentQuery.cs
- Menu.cs
- XmlChoiceIdentifierAttribute.cs
- LinqDataSourceContextEventArgs.cs
- CompositeDataBoundControl.cs
- ToolStripContentPanelRenderEventArgs.cs
- ToolStripOverflowButton.cs
- DataGridViewHitTestInfo.cs
- DeclarationUpdate.cs
- DataReceivedEventArgs.cs
- DirectoryInfo.cs
- CatalogZone.cs
- InputProcessorProfilesLoader.cs
- EvidenceBase.cs
- ApplicationFileCodeDomTreeGenerator.cs
- NodeCounter.cs
- ThreadPool.cs
- HTTPNotFoundHandler.cs
- PersistenceException.cs
- BStrWrapper.cs
- NameSpaceEvent.cs
- XmlCharType.cs
- SourceFileBuildProvider.cs
- CancelEventArgs.cs
- AssemblyBuilderData.cs
- RtfNavigator.cs
- OleDbPropertySetGuid.cs
- ObjectDataSource.cs
- ExtenderControl.cs
- NativeMethodsOther.cs
- AutoResetEvent.cs
- MultiByteCodec.cs
- ToolStripItemGlyph.cs
- SecurityKeyType.cs
- HTTPRemotingHandler.cs
- RelationshipType.cs
- HtmlEmptyTagControlBuilder.cs
- WizardStepBase.cs
- TextEncodedRawTextWriter.cs
- ICollection.cs
- SQLByteStorage.cs
- AssemblyUtil.cs
- RootContext.cs
- Choices.cs
- SoapEnumAttribute.cs
- TextDecorationUnitValidation.cs
- PipelineModuleStepContainer.cs
- EnvironmentPermission.cs
- DesignerFrame.cs
- TileBrush.cs
- SettingsPropertyIsReadOnlyException.cs
- PropertyGeneratedEventArgs.cs
- BaseValidatorDesigner.cs
- Configuration.cs
- XpsSerializerWriter.cs
- KeyInfo.cs
- PeerCollaboration.cs
- ItemAutomationPeer.cs