private void RenderTopLevelColumnGroupForXmlBrowser(BocListRenderingContext renderingContext) { renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Colgroup); // Left: list block renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Col); renderingContext.Writer.RenderEndTag(); if (renderingContext.Control.HasMenuBlock) { // Right: menu block string menuBlockWidth = c_defaultMenuBlockWidth; if (!renderingContext.Control.MenuBlockWidth.IsEmpty) { menuBlockWidth = renderingContext.Control.MenuBlockWidth.ToString(); } string menuBlockOffset = c_defaultMenuBlockOffset; if (!renderingContext.Control.MenuBlockOffset.IsEmpty) { menuBlockOffset = renderingContext.Control.MenuBlockOffset.ToString(); } renderingContext.Writer.AddStyleAttribute(HtmlTextWriterStyle.Width, menuBlockWidth); renderingContext.Writer.AddStyleAttribute(HtmlTextWriterStyle.PaddingLeft, menuBlockOffset); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Col); renderingContext.Writer.RenderEndTag(); } renderingContext.Writer.RenderEndTag(); }
public void RenderEmptyListDataRow(BocListRenderingContext renderingContext) { ArgumentUtility.CheckNotNull("renderingContext", renderingContext); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, "emptyStub"); renderingContext.Writer.RenderBeginTag("tr"); renderingContext.Writer.RenderEndTag(); }
/// <summary> /// Renders the navigation bar consisting of the move buttons and the page information. /// </summary> public void Render(BocListRenderingContext renderingContext) { ArgumentUtility.CheckNotNull("renderingContext", renderingContext); bool isFirstPage = renderingContext.Control.CurrentPageIndex == 0; bool isLastPage = renderingContext.Control.CurrentPageIndex + 1 >= renderingContext.Control.PageCount; renderingContext.Writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClasses.Navigator); renderingContext.Writer.AddStyleAttribute("position", "relative"); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Div); // Page info string pageInfo = GetResourceManager(renderingContext).GetString(ResourceIdentifier.PageInfo); string navigationText = string.Format(pageInfo, renderingContext.Control.CurrentPageIndex + 1, renderingContext.Control.PageCount); // Do not HTML encode. renderingContext.Writer.Write(navigationText); if (renderingContext.Control.HasClientScript) { renderingContext.Writer.Write(c_whiteSpace + c_whiteSpace + c_whiteSpace); RenderNavigationIcon(renderingContext, isFirstPage, GoToOption.First, 0); RenderNavigationIcon(renderingContext, isFirstPage, GoToOption.Previous, renderingContext.Control.CurrentPageIndex - 1); RenderNavigationIcon(renderingContext, isLastPage, GoToOption.Next, renderingContext.Control.CurrentPageIndex + 1); RenderNavigationIcon(renderingContext, isLastPage, GoToOption.Last, renderingContext.Control.PageCount - 1); RenderValueField(renderingContext); } renderingContext.Writer.RenderEndTag(); }
public void RenderTitleCell(BocListRenderingContext renderingContext) { ArgumentUtility.CheckNotNull("renderingContext", renderingContext); if (!renderingContext.Control.IsIndexEnabled) { return; } string cssClass = CssClasses.TitleCell + " " + CssClasses.TitleCellIndex; renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, cssClass); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Th); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Span); string indexColumnTitle = renderingContext.Control.IndexColumnTitle; if (string.IsNullOrEmpty(renderingContext.Control.IndexColumnTitle)) { indexColumnTitle = renderingContext.Control.GetResourceManager().GetString(BocList.ResourceIdentifier.IndexColumnTitle); } // Do not HTML encode. renderingContext.Writer.Write(indexColumnTitle); renderingContext.Writer.RenderEndTag(); renderingContext.Writer.RenderEndTag(); }
private void RenderTopLevelColumnGroupForLegacyBrowser(BocListRenderingContext renderingContext) { renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Colgroup); // Left: list block renderingContext.Writer.WriteBeginTag("col"); // Required because RenderBeginTag(); RenderEndTag(); // writes empty tags, which is not valid for col in HTML 4.01 renderingContext.Writer.Write(">"); if (renderingContext.Control.HasMenuBlock) { // Right: menu block renderingContext.Writer.WriteBeginTag("col"); renderingContext.Writer.Write(" style=\""); string menuBlockWidth = c_defaultMenuBlockWidth; if (!renderingContext.Control.MenuBlockWidth.IsEmpty) { menuBlockWidth = renderingContext.Control.MenuBlockWidth.ToString(); } renderingContext.Writer.WriteStyleAttribute("width", menuBlockWidth); string menuBlockOffset = c_defaultMenuBlockOffset; if (!renderingContext.Control.MenuBlockOffset.IsEmpty) { menuBlockOffset = renderingContext.Control.MenuBlockOffset.ToString(); } renderingContext.Writer.WriteStyleAttribute("padding-left", menuBlockOffset); renderingContext.Writer.Write("\">"); } renderingContext.Writer.RenderEndTag(); }
public void RenderDataRow(BocListRenderingContext renderingContext, BocListRowRenderingContext rowRenderingContext, int rowIndex) { ArgumentUtility.CheckNotNull("renderingContext", renderingContext); ArgumentUtility.CheckNotNull("rowRenderingContext", rowRenderingContext); var absoluteRowIndex = rowRenderingContext.SortedIndex; var originalRowIndex = rowRenderingContext.Row.Index; var businessObject = rowRenderingContext.Row.BusinessObject; bool isChecked = rowRenderingContext.IsSelected; bool isOddRow = (rowIndex % 2 == 0); // row index is zero-based here, but one-based in rendering => invert even/odd string cssClassTableRow = GetCssClassTableRow(renderingContext, isChecked); string cssClassTableCell = CssClasses.GetDataCell(isOddRow); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, cssClassTableRow); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Tr); _indexColumnRenderer.RenderDataCell(renderingContext, originalRowIndex, absoluteRowIndex, cssClassTableCell); _selectorColumnRenderer.RenderDataCell(renderingContext, rowRenderingContext, cssClassTableCell); var dataRowRenderEventArgs = new BocListDataRowRenderEventArgs(originalRowIndex, businessObject, true, isOddRow); renderingContext.Control.OnDataRowRendering(dataRowRenderEventArgs); foreach (BocColumnRenderer renderer in renderingContext.ColumnRenderers) { renderer.RenderDataCell(renderingContext, rowIndex, dataRowRenderEventArgs); } renderingContext.Writer.RenderEndTag(); }
/// <summary> Renders the column group, which provides the table's column layout. </summary> private void RenderTableBlockColumnGroup(BocListRenderingContext renderingContext) { BocColumnRenderer[] columnRenderers = renderingContext.ColumnRenderers; renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Colgroup); bool isTextXml = false; if (!renderingContext.Control.IsDesignMode) { isTextXml = ControlHelper.IsXmlConformResponseTextRequired(renderingContext.HttpContext); } RenderIndexColumnDeclaration(renderingContext, isTextXml); RenderSelectorColumnDeclaration(renderingContext, isTextXml); foreach (var renderer in columnRenderers) { renderer.RenderDataColumnDeclaration(renderingContext, isTextXml); } // Design-mode and empty table if (ControlHelper.IsDesignMode(renderingContext.Control) && columnRenderers.Length == 0) { for (int i = 0; i < BocRowQuirksModeRenderer.DesignModeDummyColumnCount; i++) { renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Col); renderingContext.Writer.RenderEndTag(); } } renderingContext.Writer.RenderEndTag(); }
public void RenderTitlesRow(BocListRenderingContext renderingContext) { ArgumentUtility.CheckNotNull("renderingContext", renderingContext); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Tr); _indexColumnRenderer.RenderTitleCell(renderingContext); _selectorColumnRenderer.RenderTitleCell(renderingContext); foreach (var renderer in renderingContext.ColumnRenderers) { renderer.RenderTitleCell(renderingContext); } if (ControlHelper.IsDesignMode(renderingContext.Control) && renderingContext.ColumnRenderers.Length == 0) { for (int i = 0; i < DesignModeDummyColumnCount; i++) { renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Td); renderingContext.Writer.Write(String.Format(DesignModeDummyColumnTitle, i + 1)); renderingContext.Writer.RenderEndTag(); } } renderingContext.Writer.RenderEndTag(); }
/// <summary> Renders the zero-based row index normalized to a one-based format /// (Optionally as a label for the selector control). </summary> private void RenderRowIndex(BocListRenderingContext renderingContext, int index, string selectorControlID) { bool hasSelectorControl = selectorControlID != null; renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClasses.Content); if (hasSelectorControl) { renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.For, selectorControlID); if (renderingContext.Control.HasClientScript) { const string script = "BocList_OnSelectorControlLabelClick();"; renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Onclick, script); } renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Label); } else { renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Span); } int renderedIndex = index + 1; if (renderingContext.Control.IndexOffset != null) { renderedIndex += renderingContext.Control.IndexOffset.Value; } renderingContext.Writer.Write(renderedIndex); renderingContext.Writer.RenderEndTag(); }
public void RenderDataCell(BocListRenderingContext renderingContext, int originalRowIndex, int absoluteRowIndex, string cssClassTableCell) { ArgumentUtility.CheckNotNull("renderingContext", renderingContext); ArgumentUtility.CheckNotNull("cssClassTableCell", cssClassTableCell); if (!renderingContext.Control.IsIndexEnabled) { return; } string selectorControlID = renderingContext.Control.GetSelectorControlName().Replace('$', '_') + "_" + absoluteRowIndex; string cssClass = cssClassTableCell + " " + CssClasses.DataCellIndex; renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, cssClass); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Td); if (renderingContext.Control.Index == RowIndex.InitialOrder) { RenderRowIndex(renderingContext, originalRowIndex, selectorControlID); } else if (renderingContext.Control.Index == RowIndex.SortedOrder) { RenderRowIndex(renderingContext, absoluteRowIndex, selectorControlID); } renderingContext.Writer.RenderEndTag(); }
public void RenderDataRow(BocListRenderingContext renderingContext, BocListRowRenderingContext rowRenderingContext, int rowIndex) { ArgumentUtility.CheckNotNull("renderingContext", renderingContext); ArgumentUtility.CheckNotNull("rowRenderingContext", rowRenderingContext); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, "dataStub"); renderingContext.Writer.RenderBeginTag("tr"); renderingContext.Writer.RenderEndTag(); }
/// <summary> /// Renders the data row of the <see cref="BocList"/>. /// </summary> /// <remarks> /// This method provides the outline of the table head, actual rendering of each row is delegated to /// <see cref="Web.UI.Controls.BocListImplementation.Rendering.BocRowRenderer.RenderTitlesRow"/>. /// The rows are nested within a <thead> element. /// </remarks> /// <seealso cref="Web.UI.Controls.BocListImplementation.Rendering.BocRowRenderer"/> protected virtual void RenderTableHead(BocListRenderingContext renderingContext) { ArgumentUtility.CheckNotNull("renderingContext", renderingContext); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Thead); RowRenderer.RenderTitlesRow(renderingContext); renderingContext.Writer.RenderEndTag(); }
public void SetUp() { Initialize(); List.Stub(mock => mock.IsSelectionEnabled).Return(true); _bocListCssClassDefinition = new BocListCssClassDefinition(); _bocListRenderingContext = new BocListRenderingContext(HttpContext, Html.Writer, List, new BocColumnRenderer[0]); }
private void RenderOptionsMenu(BocListRenderingContext renderingContext, string menuBlockItemOffset) { if (!renderingContext.Control.HasOptionsMenu) { return; } renderingContext.Control.OptionsMenu.Style.Add("margin-bottom", menuBlockItemOffset); renderingContext.Control.OptionsMenu.RenderControl(renderingContext.Writer); }
public void SetUp() { _columnDefinition = new StubColumnDefinition(); _columnRenderMock = MockRepository.GenerateStrictMock <IBocColumnRenderer>(); _columnRendererAdapter = new BocColumnRenderer(_columnRenderMock, _columnDefinition, 0, 0, true, SortingDirection.None, 0); _htmlTextWriterStub = MockRepository.GenerateStub <HtmlTextWriter>(); _httpContextStub = MockRepository.GenerateStub <HttpContextBase>(); _bocListStub = MockRepository.GenerateStub <IBocList>(); _renderingContext = new BocListRenderingContext(_httpContextStub, _htmlTextWriterStub, _bocListStub, new[] { _columnRendererAdapter }); }
private void AddRowSelectorAttributes(BocListRenderingContext renderingContext) { string alternateText = renderingContext.Control.GetResourceManager().GetString(BocList.ResourceIdentifier.SelectRowAlternateText); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Alt, alternateText); if (renderingContext.Control.HasClientScript) { const string script = "BocList_OnSelectionSelectorControlClick();"; renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Onclick, script); } }
private void RenderValueField(BocListRenderingContext renderingContext) { renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Id, renderingContext.Control.GetCurrentPageControlName().Replace('$', '_')); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Name, renderingContext.Control.GetCurrentPageControlName()); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Type, "hidden"); renderingContext.Writer.AddAttribute( HtmlTextWriterAttribute.Value, renderingContext.Control.CurrentPageIndex.ToString(CultureInfo.InvariantCulture)); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Input); renderingContext.Writer.RenderEndTag(); }
/// <summary> Renderes the opening tag of the table. </summary> private void RenderTableOpeningTag(BocListRenderingContext renderingContext) { renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClasses.Table); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Id, renderingContext.Control.ClientID + "_Table"); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Div); renderingContext.Writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "0"); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0"); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClasses.Table); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Table); }
private void RenderListMenu(BocListRenderingContext renderingContext, string menuBlockItemOffset) { if (!renderingContext.Control.HasListMenu) { return; } renderingContext.Writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); renderingContext.Writer.AddStyleAttribute("margin-bottom", menuBlockItemOffset); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Div); renderingContext.Control.ListMenu.RenderControl(renderingContext.Writer); renderingContext.Writer.RenderEndTag(); }
private void RenderEmptyTable(BocListRenderingContext renderingContext) { renderingContext.Writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "0"); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0"); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Table); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Tr); renderingContext.Writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Td); renderingContext.Writer.Write(" "); renderingContext.Writer.RenderEndTag(); renderingContext.Writer.RenderEndTag(); renderingContext.Writer.RenderEndTag(); }
private string GetCssClassTableRow(BocListRenderingContext renderingContext, bool isChecked) { string cssClassTableRow; if (isChecked && renderingContext.Control.AreDataRowsClickSensitive()) { cssClassTableRow = CssClasses.DataRowSelected; } else { cssClassTableRow = CssClasses.DataRow; } return(cssClassTableRow); }
protected virtual void RenderContents(BocListRenderingContext renderingContext) { ArgumentUtility.CheckNotNull("renderingContext", renderingContext); // Render list block / menu block renderingContext.Writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Cellspacing, "0"); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Cellpadding, "0"); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Table); RenderTopLevelColumnGroup = (ctx) => RenderTopLevelColumnGroupForLegacyBrowser(ctx); if (!ControlHelper.IsDesignMode(renderingContext.Control)) { bool isXmlRequired = (renderingContext.HttpContext != null) && ControlHelper.IsXmlConformResponseTextRequired(renderingContext.HttpContext); if (isXmlRequired) { RenderTopLevelColumnGroup = (ctx) => RenderTopLevelColumnGroupForXmlBrowser(ctx); } } RenderTopLevelColumnGroup(renderingContext); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Tr); // List Block renderingContext.Writer.AddStyleAttribute("vertical-align", "top"); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Td); TableBlockRenderer.Render(renderingContext); if (renderingContext.Control.HasNavigator) { NavigationBlockRenderer.Render(renderingContext); } renderingContext.Writer.RenderEndTag(); if (renderingContext.Control.HasMenuBlock) { // Menu Block renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClasses.MenuBlock); renderingContext.Writer.AddStyleAttribute("vertical-align", "top"); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Td); MenuBlockRenderer.Render(renderingContext); renderingContext.Writer.RenderEndTag(); } renderingContext.Writer.RenderEndTag(); // TR renderingContext.Writer.RenderEndTag(); // Table }
private void AddSelectAllSelectorAttributes(BocListRenderingContext renderingContext) { string alternateText = renderingContext.Control.GetResourceManager().GetString(BocList.ResourceIdentifier.SelectAllRowsAlternateText); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Alt, alternateText); if (renderingContext.Control.HasClientScript) { string script = "BocList_OnSelectAllSelectorControlClick (" + "document.getElementById ('" + renderingContext.Control.ClientID + "'), " + "this , '" + renderingContext.Control.GetSelectorControlName().Replace('$', '_') + "');"; renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Onclick, script); } }
/// <summary> /// Renders the <see cref="BocList"/> to the <see cref="HtmlTextWriter"/> in the Writer property. /// </summary> /// <remarks> /// This method provides the outline table of the <see cref="BocList"/>, creating three areas: /// <list type="bullet"> /// <item><description>A table block displaying the title and data rows. See <see cref="IBocListTableBlockRenderer"/>.</description></item> /// <item><description>A menu block containing the available commands. See <see cref="IBocListMenuBlockRenderer"/></description></item> /// <item><description>A navigation block to browse through pages of data rows. See <see cref="IBocListNavigationBlockRenderer"/>.</description></item> /// </list> /// </remarks> /// <seealso cref="BocListMenuBlockQuirksModeRenderer"/> /// <seealso cref="BocListNavigationBlockQuirksModeRenderer"/> public void Render(BocListRenderingContext renderingContext) { ArgumentUtility.CheckNotNull("renderingContext", renderingContext); RegisterInitializeGlobalsScript(renderingContext); AddAttributesToRender(renderingContext, false); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Div); RenderContents(renderingContext); renderingContext.Writer.RenderEndTag(); RegisterInitializeListScript(renderingContext); }
/// <summary> Renders the menu block of the control. </summary> /// <remarks> Contains the drop down list for selcting a column configuration and the options menu. </remarks> public void Render(BocListRenderingContext renderingContext) { ArgumentUtility.CheckNotNull("renderingContext", renderingContext); string menuBlockItemOffset = c_defaultMenuBlockItemOffset; if (!renderingContext.Control.MenuBlockItemOffset.IsEmpty) { menuBlockItemOffset = renderingContext.Control.MenuBlockItemOffset.ToString(); } RenderAvailableViewsList(renderingContext, menuBlockItemOffset); RenderOptionsMenu(renderingContext, menuBlockItemOffset); RenderListMenu(renderingContext, menuBlockItemOffset); }
/// <summary>Renders the col element for the index column</summary> private void RenderIndexColumnDeclaration(BocListRenderingContext renderingContext, bool isTextXml) { if (renderingContext.Control.IsIndexEnabled) { renderingContext.Writer.WriteBeginTag("col"); renderingContext.Writer.Write(" style=\""); renderingContext.Writer.WriteStyleAttribute("width", "1.6em"); renderingContext.Writer.Write("\""); if (isTextXml) { renderingContext.Writer.Write(" />"); } else { renderingContext.Writer.Write(">"); } } }
private void RegisterInitializeGlobalsScript(BocListRenderingContext renderingContext) { if (!renderingContext.Control.HasClientScript) { return; } string startUpScriptKey = typeof(IBocList).FullName + "_Startup"; if (!renderingContext.Control.Page.ClientScript.IsStartupScriptRegistered(typeof(BocListQuirksModeRenderer), startUpScriptKey)) { string script = string.Format( "BocList_InitializeGlobals ('{0}', '{1}');", CssClasses.DataRow, CssClasses.DataRowSelected); renderingContext.Control.Page.ClientScript.RegisterStartupScriptBlock(renderingContext.Control, typeof(BocListQuirksModeRenderer), startUpScriptKey, script); } }
/// <summary> /// Renders the data contained in <see cref="IBocList"/> as a table. /// </summary> /// <remarks> /// The table consists of a title row showing the column titles, and a data row for each <see cref="IBusinessObject"/> /// in <see cref="IBocList"/>. If there is no data, the table will be completely hidden (only one cell containing only whitespace) /// if <see cref="Remotion.ObjectBinding.Web.UI.Controls.BocList.ShowEmptyListEditMode"/> is <see langword="false"/> and /// <see cref="IBocList"/> is editable /// or if <see cref="Remotion.ObjectBinding.Web.UI.Controls.BocList.ShowEmptyListReadOnlyMode"/> is <see langword="false"/> and /// <see cref="IBocList"/> is read-only. /// Exception: at design time, the title row will always be visible. /// </remarks> /// <seealso cref="RenderTableBlockColumnGroup"/> /// <seealso cref="RenderTableBody"/> public void Render(BocListRenderingContext renderingContext) { ArgumentUtility.CheckNotNull("renderingContext", renderingContext); bool isDesignMode = ControlHelper.IsDesignMode(renderingContext.Control); bool isReadOnly = renderingContext.Control.IsReadOnly; bool showForEmptyList = isReadOnly && renderingContext.Control.ShowEmptyListReadOnlyMode || !isReadOnly && renderingContext.Control.ShowEmptyListEditMode; if (!renderingContext.Control.HasValue && !showForEmptyList) { RenderTable(renderingContext, isDesignMode, false); } else { RenderTable(renderingContext, true, true); } }
private void RenderAvailableViewsList(BocListRenderingContext renderingContext, string menuBlockItemOffset) { if (!renderingContext.Control.HasAvailableViewsList) { return; } renderingContext.Writer.AddStyleAttribute(HtmlTextWriterStyle.Width, "100%"); renderingContext.Writer.AddStyleAttribute("margin-bottom", menuBlockItemOffset); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Div); renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, CssClasses.AvailableViewsListLabel); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Span); string availableViewsListTitle; if (string.IsNullOrEmpty(renderingContext.Control.AvailableViewsListTitle)) { availableViewsListTitle = renderingContext.Control.GetResourceManager().GetString(BocList.ResourceIdentifier.AvailableViewsListTitle); } else { availableViewsListTitle = renderingContext.Control.AvailableViewsListTitle; } // Do not HTML encode. renderingContext.Writer.Write(availableViewsListTitle); renderingContext.Writer.RenderEndTag(); renderingContext.Writer.Write(c_whiteSpace); var availableViewsList = renderingContext.Control.GetAvailableViewsList(); if (renderingContext.Control.IsDesignMode) { availableViewsList.Width = Unit.Point(c_designModeAvailableViewsListWidthInPoints); } availableViewsList.Enabled = !renderingContext.Control.EditModeController.IsRowEditModeActive && !renderingContext.Control.EditModeController.IsListEditModeActive; availableViewsList.CssClass = CssClasses.AvailableViewsListDropDownList; availableViewsList.RenderControl(renderingContext.Writer); renderingContext.Writer.RenderEndTag(); }
public void RenderDataCell(BocListRenderingContext renderingContext, BocListRowRenderingContext rowRenderingContext, string cssClassTableCell) { ArgumentUtility.CheckNotNull("renderingContext", renderingContext); ArgumentUtility.CheckNotNull("cssClassTableCell", cssClassTableCell); ArgumentUtility.CheckNotNullOrEmpty("cssClassTableCell", cssClassTableCell); if (!renderingContext.Control.IsSelectionEnabled) { return; } string selectorControlID = renderingContext.Control.GetSelectorControlName().Replace('$', '_') + "_" + rowRenderingContext.SortedIndex; var selectorControlName = renderingContext.Control.GetSelectorControlName(); var selectorControlValue = renderingContext.Control.GetSelectorControlValue(rowRenderingContext.Row); var isChecked = rowRenderingContext.IsSelected; renderingContext.Writer.AddAttribute(HtmlTextWriterAttribute.Class, cssClassTableCell); renderingContext.Writer.RenderBeginTag(HtmlTextWriterTag.Td); RenderSelectorControl(renderingContext, selectorControlID, selectorControlName, selectorControlValue, isChecked, false); renderingContext.Writer.RenderEndTag(); }