void WriteCaption(HtmlTextWriter writer) { if (CaptionAlign != TableCaptionAlign.NotSet) { writer.AddAttribute(HtmlTextWriterAttribute.Align, CaptionAlign.ToString(Helpers.InvariantCulture)); } writer.RenderBeginTag(HtmlTextWriterTag.Caption); writer.Write(Caption); writer.RenderEndTag(); }
void RenderHoriz(HtmlTextWriter w, IRepeatInfoUser user, Style controlStyle, WebControl baseControl) { int itms = user.RepeatedItemCount; // total number of rows/columns in our table int cols = RepeatColumns == 0 ? itms : RepeatColumns; // this gets ceil (itms / cols) int rows = cols == 0 ? 0 : (itms + cols - 1) / cols; bool sep = user.HasSeparators; //bool oti = OuterTableImplied; int hdr_span = cols * (sep ? 2 : 1); bool table = RepeatLayout == RepeatLayout.Table; bool show_empty_trailing_items = true; bool show_empty_trailing_sep = true; RenderBeginTag(w, controlStyle, baseControl); if (Caption.Length > 0) { if (CaptionAlign != TableCaptionAlign.NotSet) { w.AddAttribute(HtmlTextWriterAttribute.Align, CaptionAlign.ToString()); } w.RenderBeginTag(HtmlTextWriterTag.Caption); w.Write(Caption); w.RenderEndTag(); } // Render the header if (user.HasHeader) { if (table) { w.RenderBeginTag(HtmlTextWriterTag.Tr); // Make sure the header takes up the full width. We have two // columns per item if we are using separators, otherwise // one per item. if (hdr_span != 1) { w.AddAttribute(HtmlTextWriterAttribute.Colspan, hdr_span.ToString(), false); } if (UseAccessibleHeader) { w.AddAttribute("scope", "col", false); } Style s = user.GetItemStyle(ListItemType.Header, -1); if (s != null) { s.AddAttributesToRender(w); } if (UseAccessibleHeader) { w.RenderBeginTag(HtmlTextWriterTag.Th); } else { w.RenderBeginTag(HtmlTextWriterTag.Td); } user.RenderItem(ListItemType.Header, -1, this, w); w.RenderEndTag(); // td w.RenderEndTag(); // tr } else { user.RenderItem(ListItemType.Header, -1, this, w); if (!table && RepeatColumns != 0 && itms != 0) { RenderBr(w); } } } for (int r = 0; r < rows; r++) { if (table) { w.RenderBeginTag(HtmlTextWriterTag.Tr); } for (int c = 0; c < cols; c++) { // Find the item number we are in according to the repeat // direction. int item = r * cols + c; // This item is blank because there there not enough items // to make a full row. if (!show_empty_trailing_items && item >= itms) { continue; } if (table) { Style s = null; if (item < itms) { s = user.GetItemStyle(ListItemType.Item, item); } if (s != null) { s.AddAttributesToRender(w); } w.RenderBeginTag(HtmlTextWriterTag.Td); } if (item < itms) { user.RenderItem(ListItemType.Item, item, this, w); } if (table) { w.RenderEndTag(); // td } if (sep) { if (table) { if (item < itms - 1) { Style s = user.GetItemStyle(ListItemType.Separator, item); if (s != null) { s.AddAttributesToRender(w); } } if (item < itms - 1 || show_empty_trailing_sep) { w.RenderBeginTag(HtmlTextWriterTag.Td); } } if (item < itms - 1) { user.RenderItem(ListItemType.Separator, item, this, w); } if (table && (item < itms - 1 || show_empty_trailing_sep)) { w.RenderEndTag(); // td } } } if (table) { // if (!oti) w.RenderEndTag(); // tr } else if (!(r == rows - 1 && RepeatColumns == 0)) { RenderBr(w); } } // Render the footer if (user.HasFooter) { if (table) { w.RenderBeginTag(HtmlTextWriterTag.Tr); if (hdr_span != 1) { w.AddAttribute(HtmlTextWriterAttribute.Colspan, hdr_span.ToString(), false); } Style s = user.GetItemStyle(ListItemType.Footer, -1); if (s != null) { s.AddAttributesToRender(w); } w.RenderBeginTag(HtmlTextWriterTag.Td); user.RenderItem(ListItemType.Footer, -1, this, w); w.RenderEndTag(); // td w.RenderEndTag(); // tr } else { user.RenderItem(ListItemType.Footer, -1, this, w); } } if (true) { w.RenderEndTag(); // table/span } }
void WriteCaption(HtmlTextWriter writer) { if (CaptionAlign != TableCaptionAlign.NotSet) writer.AddAttribute(HtmlTextWriterAttribute.Align, CaptionAlign.ToString(Helpers.InvariantCulture)); }