Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / WinForms / Managed / System / WinForms / DataGridViewLinkColumn.cs / 1 / DataGridViewLinkColumn.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System; using System.Text; using System.Drawing; using System.ComponentModel; using System.Windows.Forms; using System.Globalization; ///[ToolboxBitmapAttribute(typeof(DataGridViewLinkColumn), "DataGridViewLinkColumn.bmp")] public class DataGridViewLinkColumn : DataGridViewColumn { private static Type columnType = typeof(DataGridViewLinkColumn); private string text; /// public DataGridViewLinkColumn() : base(new DataGridViewLinkCell()) { } /// [ SRCategory(SR.CatAppearance), SRDescription(SR.DataGridView_LinkColumnActiveLinkColorDescr) ] public Color ActiveLinkColor { get { if (this.CellTemplate == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewColumn_CellTemplateRequired)); } return ((DataGridViewLinkCell)this.CellTemplate).ActiveLinkColor; } set { if (!this.ActiveLinkColor.Equals(value)) { ((DataGridViewLinkCell)this.CellTemplate).ActiveLinkColorInternal = value; if (this.DataGridView != null) { DataGridViewRowCollection dataGridViewRows = this.DataGridView.Rows; int rowCount = dataGridViewRows.Count; for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { DataGridViewRow dataGridViewRow = dataGridViewRows.SharedRow(rowIndex); DataGridViewLinkCell dataGridViewCell = dataGridViewRow.Cells[this.Index] as DataGridViewLinkCell; if (dataGridViewCell != null) { dataGridViewCell.ActiveLinkColorInternal = value; } } this.DataGridView.InvalidateColumn(this.Index); } } } } private bool ShouldSerializeActiveLinkColor() { return !this.ActiveLinkColor.Equals(LinkUtilities.IEActiveLinkColor); } /// [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public override DataGridViewCell CellTemplate { get { return base.CellTemplate; } set { if (value != null && !(value is System.Windows.Forms.DataGridViewLinkCell)) { throw new InvalidCastException(SR.GetString(SR.DataGridViewTypeColumn_WrongCellTemplateType, "System.Windows.Forms.DataGridViewLinkCell")); } base.CellTemplate = value; } } /// [ DefaultValue(LinkBehavior.SystemDefault), SRCategory(SR.CatBehavior), SRDescription(SR.DataGridView_LinkColumnLinkBehaviorDescr) ] public LinkBehavior LinkBehavior { get { if (this.CellTemplate == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewColumn_CellTemplateRequired)); } return ((DataGridViewLinkCell)this.CellTemplate).LinkBehavior; } set { if (!this.LinkBehavior.Equals(value)) { ((DataGridViewLinkCell)this.CellTemplate).LinkBehavior = value; if (this.DataGridView != null) { DataGridViewRowCollection dataGridViewRows = this.DataGridView.Rows; int rowCount = dataGridViewRows.Count; for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { DataGridViewRow dataGridViewRow = dataGridViewRows.SharedRow(rowIndex); DataGridViewLinkCell dataGridViewCell = dataGridViewRow.Cells[this.Index] as DataGridViewLinkCell; if (dataGridViewCell != null) { dataGridViewCell.LinkBehaviorInternal = value; } } this.DataGridView.InvalidateColumn(this.Index); } } } } /// [ SRCategory(SR.CatAppearance), SRDescription(SR.DataGridView_LinkColumnLinkColorDescr) ] public Color LinkColor { get { if (this.CellTemplate == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewColumn_CellTemplateRequired)); } return ((DataGridViewLinkCell)this.CellTemplate).LinkColor; } set { if (!this.LinkColor.Equals(value)) { ((DataGridViewLinkCell)this.CellTemplate).LinkColorInternal = value; if (this.DataGridView != null) { DataGridViewRowCollection dataGridViewRows = this.DataGridView.Rows; int rowCount = dataGridViewRows.Count; for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { DataGridViewRow dataGridViewRow = dataGridViewRows.SharedRow(rowIndex); DataGridViewLinkCell dataGridViewCell = dataGridViewRow.Cells[this.Index] as DataGridViewLinkCell; if (dataGridViewCell != null) { dataGridViewCell.LinkColorInternal = value; } } this.DataGridView.InvalidateColumn(this.Index); } } } } private bool ShouldSerializeLinkColor() { return !this.LinkColor.Equals(LinkUtilities.IELinkColor); } /// [ DefaultValue(null), SRCategory(SR.CatAppearance), SRDescription(SR.DataGridView_LinkColumnTextDescr) ] public string Text { get { return this.text; } set { if (!string.Equals(value, this.text, StringComparison.Ordinal)) { this.text = value; if (this.DataGridView != null) { if (this.UseColumnTextForLinkValue) { this.DataGridView.OnColumnCommonChange(this.Index); } else { DataGridViewRowCollection dataGridViewRows = this.DataGridView.Rows; int rowCount = dataGridViewRows.Count; for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { DataGridViewRow dataGridViewRow = dataGridViewRows.SharedRow(rowIndex); DataGridViewLinkCell dataGridViewCell = dataGridViewRow.Cells[this.Index] as DataGridViewLinkCell; if (dataGridViewCell != null && dataGridViewCell.UseColumnTextForLinkValue) { this.DataGridView.OnColumnCommonChange(this.Index); return; } } this.DataGridView.InvalidateColumn(this.Index); } } } } } /// [ DefaultValue(true), SRCategory(SR.CatBehavior), SRDescription(SR.DataGridView_LinkColumnTrackVisitedStateDescr) ] public bool TrackVisitedState { get { if (this.CellTemplate == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewColumn_CellTemplateRequired)); } return ((DataGridViewLinkCell)this.CellTemplate).TrackVisitedState; } set { if (this.TrackVisitedState != value) { ((DataGridViewLinkCell)this.CellTemplate).TrackVisitedStateInternal = value; if (this.DataGridView != null) { DataGridViewRowCollection dataGridViewRows = this.DataGridView.Rows; int rowCount = dataGridViewRows.Count; for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { DataGridViewRow dataGridViewRow = dataGridViewRows.SharedRow(rowIndex); DataGridViewLinkCell dataGridViewCell = dataGridViewRow.Cells[this.Index] as DataGridViewLinkCell; if (dataGridViewCell != null) { dataGridViewCell.TrackVisitedStateInternal = value; } } this.DataGridView.InvalidateColumn(this.Index); } } } } /// [ DefaultValue(false), SRCategory(SR.CatAppearance), SRDescription(SR.DataGridView_LinkColumnUseColumnTextForLinkValueDescr) ] public bool UseColumnTextForLinkValue { get { if (this.CellTemplate == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewColumn_CellTemplateRequired)); } return ((DataGridViewLinkCell)this.CellTemplate).UseColumnTextForLinkValue; } set { if (this.UseColumnTextForLinkValue != value) { ((DataGridViewLinkCell)this.CellTemplate).UseColumnTextForLinkValueInternal = value; if (this.DataGridView != null) { DataGridViewRowCollection dataGridViewRows = this.DataGridView.Rows; int rowCount = dataGridViewRows.Count; for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { DataGridViewRow dataGridViewRow = dataGridViewRows.SharedRow(rowIndex); DataGridViewLinkCell dataGridViewCell = dataGridViewRow.Cells[this.Index] as DataGridViewLinkCell; if (dataGridViewCell != null) { dataGridViewCell.UseColumnTextForLinkValueInternal = value; } } this.DataGridView.OnColumnCommonChange(this.Index); } } } } /// [ SRCategory(SR.CatAppearance), SRDescription(SR.DataGridView_LinkColumnVisitedLinkColorDescr) ] public Color VisitedLinkColor { get { if (this.CellTemplate == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewColumn_CellTemplateRequired)); } return ((DataGridViewLinkCell)this.CellTemplate).VisitedLinkColor; } set { if (!this.VisitedLinkColor.Equals(value)) { ((DataGridViewLinkCell)this.CellTemplate).VisitedLinkColorInternal = value; if (this.DataGridView != null) { DataGridViewRowCollection dataGridViewRows = this.DataGridView.Rows; int rowCount = dataGridViewRows.Count; for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { DataGridViewRow dataGridViewRow = dataGridViewRows.SharedRow(rowIndex); DataGridViewLinkCell dataGridViewCell = dataGridViewRow.Cells[this.Index] as DataGridViewLinkCell; if (dataGridViewCell != null) { dataGridViewCell.VisitedLinkColorInternal = value; } } this.DataGridView.InvalidateColumn(this.Index); } } } } private bool ShouldSerializeVisitedLinkColor() { return !this.VisitedLinkColor.Equals(LinkUtilities.IEVisitedLinkColor); } /// public override object Clone() { DataGridViewLinkColumn dataGridViewColumn; Type thisType = this.GetType(); if (thisType == columnType) //performance improvement { dataGridViewColumn = new DataGridViewLinkColumn(); } else { // SECREVIEW : Late-binding does not represent a security threat, see bug#411899 for more info.. // dataGridViewColumn = (DataGridViewLinkColumn)System.Activator.CreateInstance(thisType); } if (dataGridViewColumn != null) { base.CloneInternal(dataGridViewColumn); dataGridViewColumn.Text = this.text; } return dataGridViewColumn; } /// public override string ToString() { StringBuilder sb = new StringBuilder(64); sb.Append("DataGridViewLinkColumn { Name="); sb.Append(this.Name); sb.Append(", Index="); sb.Append(this.Index.ToString(CultureInfo.CurrentCulture)); sb.Append(" }"); return sb.ToString(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System; using System.Text; using System.Drawing; using System.ComponentModel; using System.Windows.Forms; using System.Globalization; ///[ToolboxBitmapAttribute(typeof(DataGridViewLinkColumn), "DataGridViewLinkColumn.bmp")] public class DataGridViewLinkColumn : DataGridViewColumn { private static Type columnType = typeof(DataGridViewLinkColumn); private string text; /// public DataGridViewLinkColumn() : base(new DataGridViewLinkCell()) { } /// [ SRCategory(SR.CatAppearance), SRDescription(SR.DataGridView_LinkColumnActiveLinkColorDescr) ] public Color ActiveLinkColor { get { if (this.CellTemplate == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewColumn_CellTemplateRequired)); } return ((DataGridViewLinkCell)this.CellTemplate).ActiveLinkColor; } set { if (!this.ActiveLinkColor.Equals(value)) { ((DataGridViewLinkCell)this.CellTemplate).ActiveLinkColorInternal = value; if (this.DataGridView != null) { DataGridViewRowCollection dataGridViewRows = this.DataGridView.Rows; int rowCount = dataGridViewRows.Count; for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { DataGridViewRow dataGridViewRow = dataGridViewRows.SharedRow(rowIndex); DataGridViewLinkCell dataGridViewCell = dataGridViewRow.Cells[this.Index] as DataGridViewLinkCell; if (dataGridViewCell != null) { dataGridViewCell.ActiveLinkColorInternal = value; } } this.DataGridView.InvalidateColumn(this.Index); } } } } private bool ShouldSerializeActiveLinkColor() { return !this.ActiveLinkColor.Equals(LinkUtilities.IEActiveLinkColor); } /// [ Browsable(false), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public override DataGridViewCell CellTemplate { get { return base.CellTemplate; } set { if (value != null && !(value is System.Windows.Forms.DataGridViewLinkCell)) { throw new InvalidCastException(SR.GetString(SR.DataGridViewTypeColumn_WrongCellTemplateType, "System.Windows.Forms.DataGridViewLinkCell")); } base.CellTemplate = value; } } /// [ DefaultValue(LinkBehavior.SystemDefault), SRCategory(SR.CatBehavior), SRDescription(SR.DataGridView_LinkColumnLinkBehaviorDescr) ] public LinkBehavior LinkBehavior { get { if (this.CellTemplate == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewColumn_CellTemplateRequired)); } return ((DataGridViewLinkCell)this.CellTemplate).LinkBehavior; } set { if (!this.LinkBehavior.Equals(value)) { ((DataGridViewLinkCell)this.CellTemplate).LinkBehavior = value; if (this.DataGridView != null) { DataGridViewRowCollection dataGridViewRows = this.DataGridView.Rows; int rowCount = dataGridViewRows.Count; for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { DataGridViewRow dataGridViewRow = dataGridViewRows.SharedRow(rowIndex); DataGridViewLinkCell dataGridViewCell = dataGridViewRow.Cells[this.Index] as DataGridViewLinkCell; if (dataGridViewCell != null) { dataGridViewCell.LinkBehaviorInternal = value; } } this.DataGridView.InvalidateColumn(this.Index); } } } } /// [ SRCategory(SR.CatAppearance), SRDescription(SR.DataGridView_LinkColumnLinkColorDescr) ] public Color LinkColor { get { if (this.CellTemplate == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewColumn_CellTemplateRequired)); } return ((DataGridViewLinkCell)this.CellTemplate).LinkColor; } set { if (!this.LinkColor.Equals(value)) { ((DataGridViewLinkCell)this.CellTemplate).LinkColorInternal = value; if (this.DataGridView != null) { DataGridViewRowCollection dataGridViewRows = this.DataGridView.Rows; int rowCount = dataGridViewRows.Count; for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { DataGridViewRow dataGridViewRow = dataGridViewRows.SharedRow(rowIndex); DataGridViewLinkCell dataGridViewCell = dataGridViewRow.Cells[this.Index] as DataGridViewLinkCell; if (dataGridViewCell != null) { dataGridViewCell.LinkColorInternal = value; } } this.DataGridView.InvalidateColumn(this.Index); } } } } private bool ShouldSerializeLinkColor() { return !this.LinkColor.Equals(LinkUtilities.IELinkColor); } /// [ DefaultValue(null), SRCategory(SR.CatAppearance), SRDescription(SR.DataGridView_LinkColumnTextDescr) ] public string Text { get { return this.text; } set { if (!string.Equals(value, this.text, StringComparison.Ordinal)) { this.text = value; if (this.DataGridView != null) { if (this.UseColumnTextForLinkValue) { this.DataGridView.OnColumnCommonChange(this.Index); } else { DataGridViewRowCollection dataGridViewRows = this.DataGridView.Rows; int rowCount = dataGridViewRows.Count; for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { DataGridViewRow dataGridViewRow = dataGridViewRows.SharedRow(rowIndex); DataGridViewLinkCell dataGridViewCell = dataGridViewRow.Cells[this.Index] as DataGridViewLinkCell; if (dataGridViewCell != null && dataGridViewCell.UseColumnTextForLinkValue) { this.DataGridView.OnColumnCommonChange(this.Index); return; } } this.DataGridView.InvalidateColumn(this.Index); } } } } } /// [ DefaultValue(true), SRCategory(SR.CatBehavior), SRDescription(SR.DataGridView_LinkColumnTrackVisitedStateDescr) ] public bool TrackVisitedState { get { if (this.CellTemplate == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewColumn_CellTemplateRequired)); } return ((DataGridViewLinkCell)this.CellTemplate).TrackVisitedState; } set { if (this.TrackVisitedState != value) { ((DataGridViewLinkCell)this.CellTemplate).TrackVisitedStateInternal = value; if (this.DataGridView != null) { DataGridViewRowCollection dataGridViewRows = this.DataGridView.Rows; int rowCount = dataGridViewRows.Count; for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { DataGridViewRow dataGridViewRow = dataGridViewRows.SharedRow(rowIndex); DataGridViewLinkCell dataGridViewCell = dataGridViewRow.Cells[this.Index] as DataGridViewLinkCell; if (dataGridViewCell != null) { dataGridViewCell.TrackVisitedStateInternal = value; } } this.DataGridView.InvalidateColumn(this.Index); } } } } /// [ DefaultValue(false), SRCategory(SR.CatAppearance), SRDescription(SR.DataGridView_LinkColumnUseColumnTextForLinkValueDescr) ] public bool UseColumnTextForLinkValue { get { if (this.CellTemplate == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewColumn_CellTemplateRequired)); } return ((DataGridViewLinkCell)this.CellTemplate).UseColumnTextForLinkValue; } set { if (this.UseColumnTextForLinkValue != value) { ((DataGridViewLinkCell)this.CellTemplate).UseColumnTextForLinkValueInternal = value; if (this.DataGridView != null) { DataGridViewRowCollection dataGridViewRows = this.DataGridView.Rows; int rowCount = dataGridViewRows.Count; for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { DataGridViewRow dataGridViewRow = dataGridViewRows.SharedRow(rowIndex); DataGridViewLinkCell dataGridViewCell = dataGridViewRow.Cells[this.Index] as DataGridViewLinkCell; if (dataGridViewCell != null) { dataGridViewCell.UseColumnTextForLinkValueInternal = value; } } this.DataGridView.OnColumnCommonChange(this.Index); } } } } /// [ SRCategory(SR.CatAppearance), SRDescription(SR.DataGridView_LinkColumnVisitedLinkColorDescr) ] public Color VisitedLinkColor { get { if (this.CellTemplate == null) { throw new InvalidOperationException(SR.GetString(SR.DataGridViewColumn_CellTemplateRequired)); } return ((DataGridViewLinkCell)this.CellTemplate).VisitedLinkColor; } set { if (!this.VisitedLinkColor.Equals(value)) { ((DataGridViewLinkCell)this.CellTemplate).VisitedLinkColorInternal = value; if (this.DataGridView != null) { DataGridViewRowCollection dataGridViewRows = this.DataGridView.Rows; int rowCount = dataGridViewRows.Count; for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { DataGridViewRow dataGridViewRow = dataGridViewRows.SharedRow(rowIndex); DataGridViewLinkCell dataGridViewCell = dataGridViewRow.Cells[this.Index] as DataGridViewLinkCell; if (dataGridViewCell != null) { dataGridViewCell.VisitedLinkColorInternal = value; } } this.DataGridView.InvalidateColumn(this.Index); } } } } private bool ShouldSerializeVisitedLinkColor() { return !this.VisitedLinkColor.Equals(LinkUtilities.IEVisitedLinkColor); } /// public override object Clone() { DataGridViewLinkColumn dataGridViewColumn; Type thisType = this.GetType(); if (thisType == columnType) //performance improvement { dataGridViewColumn = new DataGridViewLinkColumn(); } else { // SECREVIEW : Late-binding does not represent a security threat, see bug#411899 for more info.. // dataGridViewColumn = (DataGridViewLinkColumn)System.Activator.CreateInstance(thisType); } if (dataGridViewColumn != null) { base.CloneInternal(dataGridViewColumn); dataGridViewColumn.Text = this.text; } return dataGridViewColumn; } /// public override string ToString() { StringBuilder sb = new StringBuilder(64); sb.Append("DataGridViewLinkColumn { Name="); sb.Append(this.Name); sb.Append(", Index="); sb.Append(this.Index.ToString(CultureInfo.CurrentCulture)); sb.Append(" }"); return sb.ToString(); } } } // 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
- XmlTextAttribute.cs
- AdRotator.cs
- HitTestParameters3D.cs
- IsolatedStorageException.cs
- StyleBamlRecordReader.cs
- Camera.cs
- XmlWrappingReader.cs
- MetadataSource.cs
- ToolstripProfessionalRenderer.cs
- WebPartVerbCollection.cs
- Variant.cs
- PrintPreviewDialog.cs
- ColorTransform.cs
- SynchronizationContext.cs
- FilterException.cs
- TextMetrics.cs
- CaseInsensitiveComparer.cs
- FileNotFoundException.cs
- CodeTypeOfExpression.cs
- IIS7WorkerRequest.cs
- QuotedStringWriteStateInfo.cs
- AnnotationDocumentPaginator.cs
- Stream.cs
- ProjectionPlanCompiler.cs
- Compress.cs
- PointCollectionConverter.cs
- TrackingProfile.cs
- OperationInvokerTrace.cs
- HtmlValidatorAdapter.cs
- ClientUtils.cs
- Math.cs
- AsyncOperationManager.cs
- TableHeaderCell.cs
- EntityType.cs
- SymbolResolver.cs
- UntypedNullExpression.cs
- TypeSystem.cs
- SqlErrorCollection.cs
- MouseBinding.cs
- SmtpException.cs
- AddDataControlFieldDialog.cs
- ConnectionsZone.cs
- HtmlGenericControl.cs
- MergeLocalizationDirectives.cs
- SupportsEventValidationAttribute.cs
- SafeSecurityHelper.cs
- BinaryObjectInfo.cs
- EventRouteFactory.cs
- CancellationState.cs
- CharStorage.cs
- OleDbParameterCollection.cs
- SqlVersion.cs
- PictureBox.cs
- HitTestParameters.cs
- SecUtil.cs
- CodeAccessSecurityEngine.cs
- GenericTypeParameterBuilder.cs
- ConfigurationSectionCollection.cs
- EntityDataSourceView.cs
- InvokeBinder.cs
- ForwardPositionQuery.cs
- BaseDataListComponentEditor.cs
- Synchronization.cs
- ContentDesigner.cs
- ServiceOperationParameter.cs
- ServiceDescriptions.cs
- VScrollProperties.cs
- Normalization.cs
- DeploymentExceptionMapper.cs
- AutoGeneratedField.cs
- SHA256Cng.cs
- StylusButton.cs
- Typography.cs
- ConstraintStruct.cs
- XDeferredAxisSource.cs
- EntityTransaction.cs
- EdmError.cs
- RootContext.cs
- AffineTransform3D.cs
- DataGridViewCellStyleChangedEventArgs.cs
- Wrapper.cs
- RunInstallerAttribute.cs
- RSAOAEPKeyExchangeFormatter.cs
- ExtendedProperty.cs
- TypeBuilder.cs
- TextBlockAutomationPeer.cs
- ChangeDirector.cs
- PropertyReferenceExtension.cs
- ParameterBinding.cs
- FolderLevelBuildProviderCollection.cs
- HTTP_SERVICE_CONFIG_URLACL_KEY.cs
- NavigationFailedEventArgs.cs
- FastEncoder.cs
- CompilerGeneratedAttribute.cs
- SqlResolver.cs
- XmlSiteMapProvider.cs
- BufferBuilder.cs
- ProtocolState.cs
- UpDownBaseDesigner.cs
- SrgsOneOf.cs