//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.Web.UI.WebControls { using System; using System.Globalization; /// /// Creates a special header cell that is contained within a DataControlField. /// public class DataControlFieldHeaderCell : DataControlFieldCell { public DataControlFieldHeaderCell(DataControlField containingField) : base(HtmlTextWriterTag.Th, containingField) { } /// /// /// Sets the abbreviated text for a header cell. The abbreviated text /// is rendered with the HTML ABBR attribute. The ABBR attribute is important /// for screen readers since it allows them to read a shortened version of a header for each cell in the table. /// /// public virtual string AbbreviatedText { get { object x = ViewState["AbbrText"]; return((x == null) ? String.Empty : (string)x); } set { ViewState["AbbrText"] = value; } } /// /// /// Represents the cells that the header applies to. Renders the HTML scope attribute. Possible values are from the TableHeaderScope enumeration: Column and Row. /// /// public virtual TableHeaderScope Scope { get { object x = ViewState["Scope"]; return((x == null) ? TableHeaderScope.NotSet : (TableHeaderScope)x); } set { ViewState["Scope"] = value; } } /// /// Adds header cell attributes to the list of attributes to render. /// protected override void AddAttributesToRender(HtmlTextWriter writer) { base.AddAttributesToRender(writer); TableHeaderScope scope = Scope; if (scope != TableHeaderScope.NotSet) { if (scope == TableHeaderScope.Column) { writer.AddAttribute(HtmlTextWriterAttribute.Scope, "col"); } else { writer.AddAttribute(HtmlTextWriterAttribute.Scope, "row"); } } String abbr = AbbreviatedText; if (!String.IsNullOrEmpty(abbr)) { writer.AddAttribute(HtmlTextWriterAttribute.Abbr, abbr); } } } }