Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UI / WebControls / AutoGeneratedField.cs / 5 / AutoGeneratedField.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.Security.Permissions; ////// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [EditorBrowsable(EditorBrowsableState.Never)] public sealed class AutoGeneratedField : BoundField { private bool _suppressPropertyThrows = false; private bool _useCheckBox; private bool _useCheckBoxValid; ///Creates a field bounded to a data field in a ///. /// public AutoGeneratedField(string dataField) { DataField = dataField; } ///Initializes a new instance of a ///class. /// public override string DataFormatString { get { return base.DataFormatString; } set { if (!_suppressPropertyThrows) { throw new NotSupportedException(); } } } ///Gets or sets the display format of data in this /// field. ////// public Type DataType { get { object o = ViewState["DataType"]; if (o != null) { return (Type)o; } return typeof(string); } set { ViewState["DataType"] = value; } } ///Gets or sets the type of data being displayed by the field. ////// public override bool InsertVisible { get { return base.InsertVisible; } set { if (!_suppressPropertyThrows) { throw new NotSupportedException(); } } } ///Gets or sets whether the field is visible in Insert mode. Turn off for auto-gen'd db fields ////// public override bool ConvertEmptyStringToNull { get { return base.ConvertEmptyStringToNull; } set { if (!_suppressPropertyThrows) { throw new NotSupportedException(); } } } ///Gets or sets the property that determines whether the BoundField treats empty string as /// null when the field values are extracted. ////// private bool UseCheckBox { get { if (!_useCheckBoxValid) { _useCheckBox = (DataType == typeof(bool) || DataType == typeof(bool?)); _useCheckBoxValid = true; } return _useCheckBox; } } protected override void CopyProperties(DataControlField newField) { ((AutoGeneratedField)newField).DataType = DataType; _suppressPropertyThrows = true; ((AutoGeneratedField)newField)._suppressPropertyThrows = true; base.CopyProperties(newField); _suppressPropertyThrows = false; ((AutoGeneratedField)newField)._suppressPropertyThrows = false; } protected override DataControlField CreateField() { return new AutoGeneratedField(DataField); } ///Determines whether the field should display a text box. ////// Returns a value to be used for design-time rendering /// protected override object GetDesignTimeValue() { if (UseCheckBox) { return true; } return base.GetDesignTimeValue(); } ////// Extracts the value of the databound cell and inserts the value into the given dictionary /// public override void ExtractValuesFromCell(IOrderedDictionary dictionary, DataControlFieldCell cell, DataControlRowState rowState, bool includeReadOnly) { if (UseCheckBox) { Control childControl = null; string dataField = DataField; object value = null; if (cell.Controls.Count > 0) { childControl = cell.Controls[0]; CheckBox checkBox = childControl as CheckBox; if (checkBox != null) { if (includeReadOnly || checkBox.Enabled) { value = checkBox.Checked; } } } if (value != null) { if (dictionary.Contains(dataField)) { dictionary[dataField] = value; } else { dictionary.Add(dataField, value); } } } else { base.ExtractValuesFromCell(dictionary, cell, rowState, includeReadOnly); } } protected override void InitializeDataCell(DataControlFieldCell cell, DataControlRowState rowState) { if (UseCheckBox) { CheckBox childControl = null; CheckBox boundControl = null; if (((rowState & DataControlRowState.Edit) != 0 && ReadOnly == false) || (rowState & DataControlRowState.Insert) != 0) { CheckBox editor = new CheckBox(); childControl = editor; if (DataField.Length != 0 && (rowState & DataControlRowState.Edit) != 0) { boundControl = editor; } } else if (DataField.Length != 0) { CheckBox editor = new CheckBox(); editor.Enabled = false; childControl = editor; boundControl = editor; } if (childControl != null) { childControl.ToolTip = HeaderText; cell.Controls.Add(childControl); } if (boundControl != null) { boundControl.DataBinding += new EventHandler(this.OnDataBindField); } } else { base.InitializeDataCell(cell, rowState); } } ////// protected override void OnDataBindField(object sender, EventArgs e) { if (UseCheckBox) { Control boundControl = (Control)sender; Control controlContainer = boundControl.NamingContainer; object data = GetValue(controlContainer); if (!(boundControl is CheckBox)) { throw new HttpException(SR.GetString(SR.CheckBoxField_WrongControlType, DataField)); } if (DataBinder.IsNull(data)) { ((CheckBox)boundControl).Checked = false; } else { if (data is Boolean) { ((CheckBox)boundControl).Checked = (Boolean)data; } else { try { ((CheckBox)boundControl).Checked = Boolean.Parse(data.ToString()); } catch (FormatException fe) { throw new HttpException(SR.GetString(SR.CheckBoxField_CouldntParseAsBoolean, DataField), fe); } } } } else { base.OnDataBindField(sender, e); } } ////// public override void ValidateSupportsCallback() { } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //Override with an empty body if the field's controls all support callback. /// Otherwise, override and throw a useful error message about why the field can't support callbacks. ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.Security.Permissions; ////// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [EditorBrowsable(EditorBrowsableState.Never)] public sealed class AutoGeneratedField : BoundField { private bool _suppressPropertyThrows = false; private bool _useCheckBox; private bool _useCheckBoxValid; ///Creates a field bounded to a data field in a ///. /// public AutoGeneratedField(string dataField) { DataField = dataField; } ///Initializes a new instance of a ///class. /// public override string DataFormatString { get { return base.DataFormatString; } set { if (!_suppressPropertyThrows) { throw new NotSupportedException(); } } } ///Gets or sets the display format of data in this /// field. ////// public Type DataType { get { object o = ViewState["DataType"]; if (o != null) { return (Type)o; } return typeof(string); } set { ViewState["DataType"] = value; } } ///Gets or sets the type of data being displayed by the field. ////// public override bool InsertVisible { get { return base.InsertVisible; } set { if (!_suppressPropertyThrows) { throw new NotSupportedException(); } } } ///Gets or sets whether the field is visible in Insert mode. Turn off for auto-gen'd db fields ////// public override bool ConvertEmptyStringToNull { get { return base.ConvertEmptyStringToNull; } set { if (!_suppressPropertyThrows) { throw new NotSupportedException(); } } } ///Gets or sets the property that determines whether the BoundField treats empty string as /// null when the field values are extracted. ////// private bool UseCheckBox { get { if (!_useCheckBoxValid) { _useCheckBox = (DataType == typeof(bool) || DataType == typeof(bool?)); _useCheckBoxValid = true; } return _useCheckBox; } } protected override void CopyProperties(DataControlField newField) { ((AutoGeneratedField)newField).DataType = DataType; _suppressPropertyThrows = true; ((AutoGeneratedField)newField)._suppressPropertyThrows = true; base.CopyProperties(newField); _suppressPropertyThrows = false; ((AutoGeneratedField)newField)._suppressPropertyThrows = false; } protected override DataControlField CreateField() { return new AutoGeneratedField(DataField); } ///Determines whether the field should display a text box. ////// Returns a value to be used for design-time rendering /// protected override object GetDesignTimeValue() { if (UseCheckBox) { return true; } return base.GetDesignTimeValue(); } ////// Extracts the value of the databound cell and inserts the value into the given dictionary /// public override void ExtractValuesFromCell(IOrderedDictionary dictionary, DataControlFieldCell cell, DataControlRowState rowState, bool includeReadOnly) { if (UseCheckBox) { Control childControl = null; string dataField = DataField; object value = null; if (cell.Controls.Count > 0) { childControl = cell.Controls[0]; CheckBox checkBox = childControl as CheckBox; if (checkBox != null) { if (includeReadOnly || checkBox.Enabled) { value = checkBox.Checked; } } } if (value != null) { if (dictionary.Contains(dataField)) { dictionary[dataField] = value; } else { dictionary.Add(dataField, value); } } } else { base.ExtractValuesFromCell(dictionary, cell, rowState, includeReadOnly); } } protected override void InitializeDataCell(DataControlFieldCell cell, DataControlRowState rowState) { if (UseCheckBox) { CheckBox childControl = null; CheckBox boundControl = null; if (((rowState & DataControlRowState.Edit) != 0 && ReadOnly == false) || (rowState & DataControlRowState.Insert) != 0) { CheckBox editor = new CheckBox(); childControl = editor; if (DataField.Length != 0 && (rowState & DataControlRowState.Edit) != 0) { boundControl = editor; } } else if (DataField.Length != 0) { CheckBox editor = new CheckBox(); editor.Enabled = false; childControl = editor; boundControl = editor; } if (childControl != null) { childControl.ToolTip = HeaderText; cell.Controls.Add(childControl); } if (boundControl != null) { boundControl.DataBinding += new EventHandler(this.OnDataBindField); } } else { base.InitializeDataCell(cell, rowState); } } ////// protected override void OnDataBindField(object sender, EventArgs e) { if (UseCheckBox) { Control boundControl = (Control)sender; Control controlContainer = boundControl.NamingContainer; object data = GetValue(controlContainer); if (!(boundControl is CheckBox)) { throw new HttpException(SR.GetString(SR.CheckBoxField_WrongControlType, DataField)); } if (DataBinder.IsNull(data)) { ((CheckBox)boundControl).Checked = false; } else { if (data is Boolean) { ((CheckBox)boundControl).Checked = (Boolean)data; } else { try { ((CheckBox)boundControl).Checked = Boolean.Parse(data.ToString()); } catch (FormatException fe) { throw new HttpException(SR.GetString(SR.CheckBoxField_CouldntParseAsBoolean, DataField), fe); } } } } else { base.OnDataBindField(sender, e); } } ////// public override void ValidateSupportsCallback() { } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.Override with an empty body if the field's controls all support callback. /// Otherwise, override and throw a useful error message about why the field can't support callbacks. ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BamlResourceContent.cs
- CodeDelegateCreateExpression.cs
- ParenthesizePropertyNameAttribute.cs
- PhysicalAddress.cs
- PermissionRequestEvidence.cs
- PenThreadPool.cs
- NativeMethods.cs
- BindUriHelper.cs
- DBConnectionString.cs
- CodeGotoStatement.cs
- PrefixQName.cs
- EasingKeyFrames.cs
- SqlTrackingService.cs
- ComNativeDescriptor.cs
- SystemIcmpV4Statistics.cs
- MessageLogTraceRecord.cs
- CodeAttributeArgument.cs
- RequestCachePolicyConverter.cs
- SqlBooleanMismatchVisitor.cs
- CmsUtils.cs
- InputBinder.cs
- XmlSerializerSection.cs
- Converter.cs
- GorillaCodec.cs
- FixedSOMSemanticBox.cs
- Helpers.cs
- PageThemeCodeDomTreeGenerator.cs
- CategoryGridEntry.cs
- FontSizeConverter.cs
- SqlClientWrapperSmiStream.cs
- TreeNodeBindingCollection.cs
- EdmItemError.cs
- WindowsIdentity.cs
- XmlAtomicValue.cs
- Win32Native.cs
- HostExecutionContextManager.cs
- WorkflowQueue.cs
- CounterSample.cs
- ColumnResult.cs
- ConfigurationLockCollection.cs
- SqlDataReader.cs
- SiteMembershipCondition.cs
- XmlSchemaAnnotation.cs
- TextChangedEventArgs.cs
- NamedPermissionSet.cs
- SqlMetaData.cs
- OleDbReferenceCollection.cs
- NumericUpDownAcceleration.cs
- ImpersonationContext.cs
- EpmAttributeNameBuilder.cs
- ContextStack.cs
- AddInController.cs
- HttpPostedFileWrapper.cs
- DataGridViewImageCell.cs
- Bidi.cs
- DetailsViewUpdatedEventArgs.cs
- XmlCharCheckingWriter.cs
- Msec.cs
- StreamWriter.cs
- Base64Decoder.cs
- BaseTemplateCodeDomTreeGenerator.cs
- ControlFilterExpression.cs
- AspNetSynchronizationContext.cs
- DataList.cs
- Point3DCollection.cs
- NeedSkipTokenVisitor.cs
- ActivityExecutionContext.cs
- BaseCodePageEncoding.cs
- SystemIcmpV6Statistics.cs
- CodeAccessSecurityEngine.cs
- FlowPanelDesigner.cs
- RestHandler.cs
- _CommandStream.cs
- ResponseStream.cs
- XmlPreloadedResolver.cs
- Int16KeyFrameCollection.cs
- InnerItemCollectionView.cs
- AsynchronousChannelMergeEnumerator.cs
- QueryConverter.cs
- VersionPair.cs
- MenuScrollingVisibilityConverter.cs
- MILUtilities.cs
- TimeoutException.cs
- TreeNodeStyle.cs
- WindowsListViewItem.cs
- SemanticAnalyzer.cs
- ThreadExceptionDialog.cs
- TableLayout.cs
- BitmapSizeOptions.cs
- BuilderPropertyEntry.cs
- CalendarAutoFormat.cs
- ParameterCollection.cs
- FormsAuthentication.cs
- TreeNodeCollection.cs
- SettingsPropertyIsReadOnlyException.cs
- ToolboxItemCollection.cs
- NoneExcludedImageIndexConverter.cs
- DataServiceClientException.cs
- XmlStreamNodeWriter.cs
- BitmapPalettes.cs