Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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; ////// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class BoundColumn : DataGridColumn { ///Creates a column bounded to a data field in a ///. /// public static readonly string thisExpr = "!"; private PropertyDescriptor boundFieldDesc; private bool boundFieldDescValid; private string boundField; private string formatting; ///Specifies a string that represents "this". This field is read-only. ////// public BoundColumn() { } ///Initializes a new instance of a ///class. /// [ 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 field name from the data model bound to 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 display format of 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(); } } ///Gets or sets the property that prevents modification to data /// in this column. ////// 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; } ////// 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); } } ///Initializes a cell in the DataGridColumn. ////// 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; ////// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class BoundColumn : DataGridColumn { ///Creates a column bounded to a data field in a ///. /// public static readonly string thisExpr = "!"; private PropertyDescriptor boundFieldDesc; private bool boundFieldDescValid; private string boundField; private string formatting; ///Specifies a string that represents "this". This field is read-only. ////// public BoundColumn() { } ///Initializes a new instance of a ///class. /// [ 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 field name from the data model bound to 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 display format of 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(); } } ///Gets or sets the property that prevents modification to data /// in this column. ////// 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; } ////// 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); } } ///Initializes a cell in the DataGridColumn. ////// 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
- PageParserFilter.cs
- RowSpanVector.cs
- mediaeventargs.cs
- UTF7Encoding.cs
- Color.cs
- DBConnectionString.cs
- TreeNodeConverter.cs
- XmlSchemaSimpleTypeUnion.cs
- CodeDirectionExpression.cs
- XmlSchemaExporter.cs
- UrlMappingsSection.cs
- Evidence.cs
- HandlerFactoryCache.cs
- DataShape.cs
- ToolTipAutomationPeer.cs
- OleAutBinder.cs
- CodeFieldReferenceExpression.cs
- RightsManagementEncryptionTransform.cs
- SimpleWorkerRequest.cs
- SizeF.cs
- ListViewItemEventArgs.cs
- RC2CryptoServiceProvider.cs
- ISAPIApplicationHost.cs
- StorageScalarPropertyMapping.cs
- VBCodeProvider.cs
- ProcessInfo.cs
- SessionSwitchEventArgs.cs
- SecurityTokenTypes.cs
- VisualTarget.cs
- MarkupProperty.cs
- CodeDOMProvider.cs
- _BufferOffsetSize.cs
- QilDataSource.cs
- ConnectionsZoneAutoFormat.cs
- ChannelOptions.cs
- EventWaitHandle.cs
- QuaternionRotation3D.cs
- SocketInformation.cs
- ThreadTrace.cs
- RecommendedAsConfigurableAttribute.cs
- Documentation.cs
- StylusPointPropertyId.cs
- BitmapFrameDecode.cs
- ContractMethodParameterInfo.cs
- CommandSet.cs
- GZipDecoder.cs
- XPathDocument.cs
- SerializationInfo.cs
- Section.cs
- UrlUtility.cs
- FrameworkTextComposition.cs
- X509PeerCertificateElement.cs
- ITextView.cs
- Drawing.cs
- XpsFixedPageReaderWriter.cs
- _ConnectOverlappedAsyncResult.cs
- MruCache.cs
- BaseCollection.cs
- Soap.cs
- EventLogConfiguration.cs
- XmlILStorageConverter.cs
- ApplicationTrust.cs
- ZoneIdentityPermission.cs
- ImageBrush.cs
- Point4D.cs
- PointAnimationUsingPath.cs
- NullableBoolConverter.cs
- BuildDependencySet.cs
- WebPartConnectionsCancelEventArgs.cs
- RegistryPermission.cs
- MemberMaps.cs
- VersionedStream.cs
- WindowsAuthenticationModule.cs
- Expression.cs
- QilPatternFactory.cs
- XmlSchemaObjectTable.cs
- EntityContainerAssociationSetEnd.cs
- BinaryUtilClasses.cs
- HostedTransportConfigurationManager.cs
- LicenseException.cs
- ItemsControl.cs
- KeyPullup.cs
- EventItfInfo.cs
- __Filters.cs
- OptimalBreakSession.cs
- DependencyStoreSurrogate.cs
- TransactionTraceIdentifier.cs
- BulletedListDesigner.cs
- MobileTemplatedControlDesigner.cs
- _TLSstream.cs
- InOutArgument.cs
- SByteStorage.cs
- FilterQuery.cs
- ProgressChangedEventArgs.cs
- ExpressionStringBuilder.cs
- CfgParser.cs
- RequestCachePolicy.cs
- SharedStatics.cs
- MessageDecoder.cs
- BooleanFacetDescriptionElement.cs