Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebControls / ColumnCollection.cs / 1 / ColumnCollection.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.ComponentModel;
using System.Web.UI;
using System.Security.Permissions;
///
/// Represents the collection of columns to be displayed in
/// a
/// control.
///
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class DataGridColumnCollection : ICollection, IStateManager {
private DataGrid owner;
private ArrayList columns;
private bool marked;
///
/// Initializes a new instance of class.
///
public DataGridColumnCollection(DataGrid owner, ArrayList columns) {
this.owner = owner;
this.columns = columns;
}
///
/// Gets the number of columns in the collection. This property is read-only.
///
[
Browsable(false)
]
public int Count {
get {
return columns.Count;
}
}
///
/// Gets a value that specifies whether items in the can be
/// modified. This property is read-only.
///
[
Browsable(false)
]
public bool IsReadOnly {
get {
return false;
}
}
///
/// Gets a value that indicates whether the is thread-safe. This property is read-only.
///
[
Browsable(false)
]
public bool IsSynchronized {
get {
return false;
}
}
///
/// Gets the object used to synchronize access to the collection. This property is read-only.
///
[
Browsable(false)
]
public Object SyncRoot {
get {
return this;
}
}
///
/// Gets a at the specified index in the
/// collection.
///
[
Browsable(false)
]
public DataGridColumn this[int index] {
get {
return (DataGridColumn)columns[index];
}
}
///
/// Appends a to the collection.
///
public void Add(DataGridColumn column) {
AddAt(-1, column);
}
///
/// Inserts a to the collection
/// at the specified index.
///
public void AddAt(int index, DataGridColumn column) {
if (column == null) {
throw new ArgumentNullException("column");
}
if (index == -1) {
columns.Add(column);
}
else {
columns.Insert(index, column);
}
column.SetOwner(owner);
if (marked)
((IStateManager)column).TrackViewState();
OnColumnsChanged();
}
///
/// Empties the collection of all objects.
///
public void Clear() {
columns.Clear();
OnColumnsChanged();
}
///
/// Copies the contents of the entire collection into an appending at
/// the specified index of the .
///
public void CopyTo(Array array, int index) {
if (array == null) {
throw new ArgumentNullException("array");
}
for (IEnumerator e = this.GetEnumerator(); e.MoveNext();)
array.SetValue(e.Current, index++);
}
///
/// Creates an enumerator for the used to iterate through the collection.
///
public IEnumerator GetEnumerator() {
return columns.GetEnumerator();
}
///
/// Returns the index of the first occurrence of a value in a .
///
public int IndexOf(DataGridColumn column) {
if (column != null) {
return columns.IndexOf(column);
}
return -1;
}
///
///
private void OnColumnsChanged() {
if (owner != null) {
owner.OnColumnsChanged();
}
}
///
/// Removes a from the collection at the specified
/// index.
///
public void RemoveAt(int index) {
if ((index >= 0) && (index < Count)) {
columns.RemoveAt(index);
OnColumnsChanged();
}
else {
throw new ArgumentOutOfRangeException("index");
}
}
///
/// Removes the specified from the collection.
///
public void Remove(DataGridColumn column) {
int index = IndexOf(column);
if (index >= 0) {
RemoveAt(index);
}
}
///
///
/// Return true if tracking state changes.
///
bool IStateManager.IsTrackingViewState {
get {
return marked;
}
}
///
///
/// Load previously saved state.
///
void IStateManager.LoadViewState(object savedState) {
if (savedState != null) {
object[] columnsState = (object[])savedState;
if (columnsState.Length == columns.Count) {
for (int i = 0; i < columnsState.Length; i++) {
if (columnsState[i] != null) {
((IStateManager)columns[i]).LoadViewState(columnsState[i]);
}
}
}
}
}
///
///
/// Start tracking state changes.
///
void IStateManager.TrackViewState() {
marked = true;
int columnCount = columns.Count;
for (int i = 0; i < columnCount; i++) {
((IStateManager)columns[i]).TrackViewState();
}
}
///
///
/// Return object containing state changes.
///
object IStateManager.SaveViewState() {
int columnCount = columns.Count;
object[] columnsState = new object[columnCount];
bool savedState = false;
for (int i = 0; i < columnCount; i++) {
columnsState[i] = ((IStateManager)columns[i]).SaveViewState();
if (columnsState[i] != null)
savedState = true;
}
return savedState ? columnsState : null;
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.WebControls {
using System;
using System.Collections;
using System.ComponentModel;
using System.Web.UI;
using System.Security.Permissions;
///
/// Represents the collection of columns to be displayed in
/// a
/// control.
///
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class DataGridColumnCollection : ICollection, IStateManager {
private DataGrid owner;
private ArrayList columns;
private bool marked;
///
/// Initializes a new instance of class.
///
public DataGridColumnCollection(DataGrid owner, ArrayList columns) {
this.owner = owner;
this.columns = columns;
}
///
/// Gets the number of columns in the collection. This property is read-only.
///
[
Browsable(false)
]
public int Count {
get {
return columns.Count;
}
}
///
/// Gets a value that specifies whether items in the can be
/// modified. This property is read-only.
///
[
Browsable(false)
]
public bool IsReadOnly {
get {
return false;
}
}
///
/// Gets a value that indicates whether the is thread-safe. This property is read-only.
///
[
Browsable(false)
]
public bool IsSynchronized {
get {
return false;
}
}
///
/// Gets the object used to synchronize access to the collection. This property is read-only.
///
[
Browsable(false)
]
public Object SyncRoot {
get {
return this;
}
}
///
/// Gets a at the specified index in the
/// collection.
///
[
Browsable(false)
]
public DataGridColumn this[int index] {
get {
return (DataGridColumn)columns[index];
}
}
///
/// Appends a to the collection.
///
public void Add(DataGridColumn column) {
AddAt(-1, column);
}
///
/// Inserts a to the collection
/// at the specified index.
///
public void AddAt(int index, DataGridColumn column) {
if (column == null) {
throw new ArgumentNullException("column");
}
if (index == -1) {
columns.Add(column);
}
else {
columns.Insert(index, column);
}
column.SetOwner(owner);
if (marked)
((IStateManager)column).TrackViewState();
OnColumnsChanged();
}
///
/// Empties the collection of all objects.
///
public void Clear() {
columns.Clear();
OnColumnsChanged();
}
///
/// Copies the contents of the entire collection into an appending at
/// the specified index of the .
///
public void CopyTo(Array array, int index) {
if (array == null) {
throw new ArgumentNullException("array");
}
for (IEnumerator e = this.GetEnumerator(); e.MoveNext();)
array.SetValue(e.Current, index++);
}
///
/// Creates an enumerator for the used to iterate through the collection.
///
public IEnumerator GetEnumerator() {
return columns.GetEnumerator();
}
///
/// Returns the index of the first occurrence of a value in a .
///
public int IndexOf(DataGridColumn column) {
if (column != null) {
return columns.IndexOf(column);
}
return -1;
}
///
///
private void OnColumnsChanged() {
if (owner != null) {
owner.OnColumnsChanged();
}
}
///
/// Removes a from the collection at the specified
/// index.
///
public void RemoveAt(int index) {
if ((index >= 0) && (index < Count)) {
columns.RemoveAt(index);
OnColumnsChanged();
}
else {
throw new ArgumentOutOfRangeException("index");
}
}
///
/// Removes the specified from the collection.
///
public void Remove(DataGridColumn column) {
int index = IndexOf(column);
if (index >= 0) {
RemoveAt(index);
}
}
///
///
/// Return true if tracking state changes.
///
bool IStateManager.IsTrackingViewState {
get {
return marked;
}
}
///
///
/// Load previously saved state.
///
void IStateManager.LoadViewState(object savedState) {
if (savedState != null) {
object[] columnsState = (object[])savedState;
if (columnsState.Length == columns.Count) {
for (int i = 0; i < columnsState.Length; i++) {
if (columnsState[i] != null) {
((IStateManager)columns[i]).LoadViewState(columnsState[i]);
}
}
}
}
}
///
///
/// Start tracking state changes.
///
void IStateManager.TrackViewState() {
marked = true;
int columnCount = columns.Count;
for (int i = 0; i < columnCount; i++) {
((IStateManager)columns[i]).TrackViewState();
}
}
///
///
/// Return object containing state changes.
///
object IStateManager.SaveViewState() {
int columnCount = columns.Count;
object[] columnsState = new object[columnCount];
bool savedState = false;
for (int i = 0; i < columnCount; i++) {
columnsState[i] = ((IStateManager)columns[i]).SaveViewState();
if (columnsState[i] != null)
savedState = true;
}
return savedState ? columnsState : null;
}
}
}
// 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
- FastEncoderStatics.cs
- SetStateEventArgs.cs
- Queue.cs
- StylusPointPropertyInfoDefaults.cs
- BezierSegment.cs
- BinaryConverter.cs
- CodeCompileUnit.cs
- EdmScalarPropertyAttribute.cs
- CompensationDesigner.cs
- SystemIcmpV4Statistics.cs
- TablePatternIdentifiers.cs
- WebDisplayNameAttribute.cs
- PrivilegedConfigurationManager.cs
- InternalDispatchObject.cs
- SafeBitVector32.cs
- WebPartCloseVerb.cs
- RelatedCurrencyManager.cs
- DeferredTextReference.cs
- UnicodeEncoding.cs
- GridViewRowCollection.cs
- XmlText.cs
- ErrorFormatter.cs
- CodeTypeReferenceCollection.cs
- Char.cs
- ThaiBuddhistCalendar.cs
- DefaultAsyncDataDispatcher.cs
- UxThemeWrapper.cs
- HtmlPanelAdapter.cs
- HtmlElementErrorEventArgs.cs
- ElementHostAutomationPeer.cs
- DrawingBrush.cs
- Int64AnimationUsingKeyFrames.cs
- ViewGenResults.cs
- RuntimeWrappedException.cs
- Quaternion.cs
- ipaddressinformationcollection.cs
- ControlCachePolicy.cs
- DynamicResourceExtensionConverter.cs
- ScriptBehaviorDescriptor.cs
- CodeTypeDeclarationCollection.cs
- FileSystemInfo.cs
- ProcessHostFactoryHelper.cs
- SqlTrackingService.cs
- AssemblyBuilder.cs
- GridViewDesigner.cs
- FrugalList.cs
- CodeGen.cs
- CodeCatchClause.cs
- SplashScreen.cs
- XmlSignatureProperties.cs
- MultipleViewPattern.cs
- HttpCacheVary.cs
- ScrollChrome.cs
- DataGridViewCheckBoxCell.cs
- InterleavedZipPartStream.cs
- ItemChangedEventArgs.cs
- CharacterMetrics.cs
- XmlKeywords.cs
- OracleRowUpdatingEventArgs.cs
- CqlGenerator.cs
- ValueExpressions.cs
- MulticastOption.cs
- DragEvent.cs
- CollectionContainer.cs
- TextBoxLine.cs
- MouseWheelEventArgs.cs
- BaseTreeIterator.cs
- DateTimeSerializationSection.cs
- AssemblyFilter.cs
- Int32CollectionConverter.cs
- TokenCreationParameter.cs
- LiteralControl.cs
- EventHandlingScope.cs
- ObjectDataSourceView.cs
- DropTarget.cs
- Cloud.cs
- ObjectHelper.cs
- XmlSchemaAll.cs
- storepermission.cs
- WpfGeneratedKnownTypes.cs
- Double.cs
- AccessControlEntry.cs
- NetCodeGroup.cs
- DataRecord.cs
- Helpers.cs
- SchemaMerger.cs
- ToolStripManager.cs
- TextParagraphCache.cs
- SafeEventLogWriteHandle.cs
- EndOfStreamException.cs
- DataGridItemEventArgs.cs
- InstanceCollisionException.cs
- _KerberosClient.cs
- RelationshipWrapper.cs
- DesigntimeLicenseContext.cs
- TypeUsage.cs
- SelectionItemProviderWrapper.cs
- AmbiguousMatchException.cs
- SetMemberBinder.cs
- EntityDataSourceViewSchema.cs