//============================================================
//==构成 ComSharpDataGrid 的数据列集合 (继承CollectionBase Abstract 类和 IEnumerable 接口)
//================================================================
public class GridColumns : CollectionBase,IEnumerable
{
//****************************************
//**实现 CollectionBase 中的 Add()方法 (添加一个项目)
//****************************************
public void Add(GridColumn pGridColumn)
{     
List.Add(pGridColumn);
}        //****************************************
//**实现 CollectionBase 中的 Insert()方法 (添加一个项目)
//****************************************
public void Insert(int index,GridColumn pGridColumn)
{     
List.Insert(index,pGridColumn) ;
}        //****************************************
//**实现 CollectionBase 中的 Remove()方法 (移除一个项目)
//****************************************
public void Remove(int index)
{
//-------------------------------
//--检查是否超过界限
//-------------------------------
if (index > Count - 1 || index < 0) 
{
//---------------------------    
//--如果超过界限,抛出错误    
//---------------------------    
throw new Exception("Index out of bounds");            
}        
List.RemoveAt(index);       
}  //****************************************
//**创建 int 参数的 indexer
//****************************************
public GridColumn this[int index]
{
get
{
return (GridColumn)List[index];
}
set
{
List[index] = value;
}
} //****************************************
//**创建 名字字符 参数的 Indexer
//****************************************
public GridColumn this[string Hearder]
{
get
{
return (GridColumn)this[this.FindIndex(Hearder)];
}
set
{
this[this.FindIndex(Hearder)] = value;
}
} //****************************************
//**私有帮助函数,根据项目的名字,发现项目的 index
//****************************************
int FindIndex(string Hearder)
{
for (int index = 0; index < List.Count; index++)
{
GridColumn myGridColumn = (GridColumn) List[index];
if (myGridColumn.Header == Hearder)
{
return(index);
}
}
return(-1);
} //****************************************
//**实现 GetEnumerator,返回枚举
//****************************************
public new GridColumnEnumerator GetEnumerator() 
{           
return new GridColumnEnumerator(this);        
}         //****************************************
//**实现 IEnumerable.GetEnumerator,返回枚举
//****************************************
IEnumerator IEnumerable.GetEnumerator() 
{            
return GetEnumerator();        
} //=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
//=*GridColumns类中的枚举类 (继承IEnumerator接口)
//=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
public class GridColumnEnumerator: IEnumerator 

int myIndex;            
GridColumns myGridColumns;  
          
//*****************************
//**Constructor
//*****************************
public GridColumnEnumerator(GridColumns pGridColumns) 
{                
myGridColumns = pGridColumns;                
myIndex = -1;            
} //*****************************
//**初始化起始位置
//*****************************
public void Reset() 

myIndex = -1;
} //*****************************
//**前进一个位置
//*****************************
public bool MoveNext() 
{
myIndex++;                
return(myIndex < myGridColumns.Count);            
} //*****************************
//**返回当前项目
//*****************************
public GridColumn Current {get{return((GridColumn)myGridColumns[myIndex]);}}             //*****************************
//**实现IEnumerator.Current,返回当前项目
//*****************************
object IEnumerator.Current {get{return(Current);}}        
}
//=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* }
//===========================================================
//== 构成 ComSharpDataGrid 的数据列,继承 DataColumnBase
//== 多了 OrderBy 属性
//===========================================================
public class GridColumn : DataColumnBase
{
//*****************************************
//**属性定义
//*****************************************
private string mOrderBy=""; //列表头是否支持 OrderBy (Sorting) 如果为空,则不支持,否则,支持
public string OrderBy {get{return this.mOrderBy;} set{this.mOrderBy = value;}} //ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
#region Constructor Overload
//ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc //[][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
//[]基本参数重载
//[][][][][][][][][][][][][][][][][][][][][][][][][][][][][] //*****************************************
//**Constructor第1个重载
//*****************************************
public GridColumn()
{
} //*****************************************
//**Constructor第2个重载(必要的属性)
//*****************************************
public GridColumn(string pHeader,string pDataFormatString)
: base(pHeader,pDataFormatString)
{
//
} //*****************************************
//**Constructor第3个重载(必要的属性)
//*****************************************
public GridColumn(string pHeader,string pOrderBy,string pDataFormatString)
: base(pHeader,pDataFormatString)
{
this.mOrderBy=pOrderBy;
} //*****************************************
//**Constructor第4个重载(必要的属性)
//*****************************************
public GridColumn(string pHeader,string pOrderBy,string pDataFormatString,string pWidth,string pClass)
: base(pHeader,pDataFormatString,pWidth,pClass)
{
this.mOrderBy=pOrderBy;
} //ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
#endregion
//ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc }