TableHeadRowTag.HeadRowInfo hri = getHeadRowInfo();
// HtmlWriter
HtmlTagDictionary dic = HtmlTagDictionary.getInstance();
orderIndicator = getSortOrderIdicator(hri, dic);
// Start Tag
HtmlWriter w = new HtmlWriter(pageContext.getOut());
HtmlTag wrap = w.startTag(dic.TableHeadColumnTag());
wrap.addAttribute("id", getId());
wrap.addAttribute("class", getCssClass(hri));
setStyleAndWrap(wrap, hri);
wrap.addAttribute("width", width);
wrap.addAttribute("height", height);
wrap.addAttribute("colspan", colspan);
wrap.addAttribute("rowspan", rowspan);
wrap.addAttribute("align", str(align, hri.columnAlign));
wrap.addAttribute("valign", valign);
wrap.addAttribute("bgcolor", bgcolor);
// Body
wrap.beginBody();
if (prepareLinkParams(hri))
{ // The Anchor
this.cssClass = getLinkClass(hri, dic);
this.cssStyle = null;
// OnClick
if (onclick== null)
onclick = dic.TableHeadLinkDefaultOnClickScript();
// render column choices
if (select!=null)
{
renderColumnSelect(w);
text = "";
}
// Start the tag
super.doStartTag();
// Add Sort Param
AnchorComponent anchor = (AnchorComponent)component;
anchor.addParameter(hri.sortColumnParam, getColumnName());
if (hri.sortOrderChangeable && hri.sortOrderParam!=null)
{
anchor.addParameter(hri.sortOrderParam, (hri.sortDescending) ? "0" : "1");
}
// render Link
super.doEndTag();
}
else
{ // The value
HtmlTag text = w.startTag("span"); // dic.AnchorDisabledTag()
text.addAttribute("class", getLinkClass(hri, dic));
text.beginBody(getColumnTitle());
text.endTag(getBody());
}
// Don't call base class