This abstract class provides basic functionality for the DataList and DataGrid web controls. These controls include data binding (through the DataBind( ) method and properties like DataSource), and simple formatting through various table-specific properties, including CellPadding (the space between content in a cell and the cell borders), CellSpacing (the space between cells), and HorizontalAlign (the position of the table relative to the page or adjacent content).
public abstract class BaseDataList : WebControl { // Public Constructors public BaseDataList( ); // Public Instance Properties public virtual int CellPadding{set; get; } public virtual int CellSpacing{set; get; } public override ControlCollection Controls{get; } // overrides System.Web.UI.Control public virtual string DataKeyField{set; get; } public DataKeyCollection DataKeys{get; } public string DataMember{set; get; } public virtual object DataSource{set; get; } public virtual GridLines GridLines{set; get; } public virtual HorizontalAlign HorizontalAlign{set; get; } // Protected Instance Properties protected ArrayList DataKeysArray{get; } // Public Static Methods public static bool IsBindableType(Type type); // Public Instance Methods public override void DataBind( ); // overrides System.Web.UI.Control// Protected Instance Methods protected override void AddParsedSubObject(object obj); // overrides System.Web.UI.Control protected override void CreateChildControls( ); // overrides System.Web.UI.Control protected abstract void CreateControlHierarchy(bool useDataSource); protected override void OnDataBinding(EventArgs e); // overrides System.Web.UI.Control protected virtual void OnSelectedIndexChanged(EventArgs e); protected abstract void PrepareControlHierarchy( ); protected override void Render(System.Web.UI.HtmlTextWriter writer); // overrides WebControl// Events public event EventHandler SelectedIndexChanged; }