📄 datagridcolumncollection.cs
字号:
using System;
using System.Collections;
namespace System.Web.UI.WebControls
{
/// <summary>
/// Summary description for DataGridColumnCollection.
/// </summary>
public class DataGridColumnCollection : System.Collections.ICollection,
System.Collections.IEnumerable,
System.Web.UI.IStateManager
{
private System.Web.UI.WebControls.DataGrid owner;
private System.Collections.ArrayList columns;
private bool marked;
public DataGridColumnCollection(DataGrid owner, ArrayList columns) : base()
{
this.owner = owner;
this.columns = columns;
}
public void Add(DataGridColumn column)
{
this.AddAt(-1, column);
}
public void AddAt(int index, DataGridColumn column)
{
if (index == -1)
this.columns.Add(column);
else
this.columns.Insert(index, column);
column.SetOwner(this.owner);
if (this.marked)
((System.Web.UI.IStateManager)column).TrackViewState();
this.OnColumnsChanged();
}
public void Clear()
{
this.columns.Clear();
this.OnColumnsChanged();
}
public virtual IEnumerator GetEnumerator()
{
return this.columns.GetEnumerator();
}
public int IndexOf(DataGridColumn column)
{
if (column != null)
return this.columns.IndexOf(column);
return -1;
}
private void OnColumnsChanged()
{
if (this.owner != null)
this.owner.OnColumnsChanged();
}
public void Remove(DataGridColumn column)
{
int local0;
local0 = this.IndexOf(column);
if (local0 >= 0)
this.RemoveAt(local0);
}
public void RemoveAt(int index)
{
if (index >= 0 && index < this.Count)
{
this.columns.RemoveAt(index);
this.OnColumnsChanged();
return;
}
throw new ArgumentOutOfRangeException("index");
}
bool System.Web.UI.IStateManager.get_IsTrackingViewState()
{
return this.marked;
}
void System.Web.UI.IStateManager.LoadViewState(object savedState)
{
object[] local0;
int local1;
if (savedState != null)
{
local0 = (object[]) savedState;
if ((int) local0.Length == this.columns.Count)
{
local1 = 0;
while (local1 < (int) local0.Length)
{
if (local0[local1] != null)
((System.Web.UI.IStateManager)this.columns[local1]).LoadViewState(local0[local1]);
local1++;
}
}
}
}
object System.Web.UI.IStateManager.SaveViewState()
{
int local0;
object[] local1;
bool local2;
int local3;
local0 = this.columns.Count;
local1 = new Object[checked((uint) local0)];
local2 = false;
local3 = 0;
while (local3 < local0)
{
local1[local3] = ((System.Web.UI.IStateManager)this.columns[local3]).SaveViewState();
if (local1[local3] != null)
local2 = true;
local3++;
}
if (!(local2))
return null;
return local1;
}
bool System.Web.UI.IStateManager.IsTrackingViewState
{
get
{
return this.marked;
}
}
void System.Web.UI.IStateManager.TrackViewState()
{
int local0;
int local1;
this.marked = true;
local0 = this.columns.Count;
local1 = 0;
while (local1 < local0)
{
((System.Web.UI.IStateManager)this.columns[local1]).TrackViewState();
local1++;
}
}
public bool IsReadOnly
{
get
{
return false;
}
}
public virtual bool IsSynchronized
{
get
{
return true;
}
}
public virtual void CopyTo(Array array, int index)
{
IEnumerator local0;
local0 = this.GetEnumerator();
while (local0.MoveNext())
{
index = index + 1;
array.SetValue(local0.Current, index);
}
}
public virtual int Count
{
get
{
return this.columns.Count;
}
}
public DataGridColumn this[int index]
{
get
{
return (DataGridColumn) this.columns[index];
}
}
public virtual object SyncRoot
{
get
{
return this;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -