public IHtmlString GetSelectLink(string text = null) { if (String.IsNullOrEmpty(text)) { text = HelpersResources.WebGrid_SelectLinkText; } return(WebGridRenderer.GridLink(_grid, GetSelectUrl(), text)); }
/// <summary> /// Gets the HTML for a table with a pager. /// </summary> /// <param name="tableStyle">Table class for styling.</param> /// <param name="headerStyle">Header row class for styling.</param> /// <param name="footerStyle">Footer row class for styling.</param> /// <param name="rowStyle">Row class for styling (odd rows only).</param> /// <param name="alternatingRowStyle">Row class for styling (even rows only).</param> /// <param name="selectedRowStyle">Selected row class for styling.</param> /// <param name="caption">The table caption</param> /// <param name="displayHeader">Whether the header row should be displayed.</param> /// <param name="fillEmptyRows">Whether the table can add empty rows to ensure the rowsPerPage row count.</param> /// <param name="emptyRowCellValue">Value used to populate empty rows. This property is only used when <paramref name="fillEmptyRows"/> is set</param> /// <param name="columns">Column model for customizing column rendering.</param> /// <param name="exclusions">Columns to exclude when auto-populating columns.</param> /// <param name="footer">Table footer template.</param> /// <param name="htmlAttributes">An object that contains the HTML attributes to set for the element.</param> public IHtmlString Table( string tableStyle = null, string headerStyle = null, string footerStyle = null, string rowStyle = null, string alternatingRowStyle = null, string selectedRowStyle = null, string caption = null, bool displayHeader = true, bool fillEmptyRows = false, string emptyRowCellValue = null, IEnumerable <WebGridColumn> columns = null, IEnumerable <string> exclusions = null, Func <dynamic, object> footer = null, object htmlAttributes = null ) { if (columns == null) { columns = GetDefaultColumns(exclusions); } // In order of precedence, the parameters that affect the visibility of columns in WebGrid - // (1) "columns" argument of this method // (2) "exclusion" argument of this method // (3) "columnNames" argument of the constructor. // At the time of binding we can verify if a simple property specified in the query string is a column that would be visible to the user. // However, for complex properties or if either of (1) or (2) arguments are specified, we can only verify at this point. EnsureColumnIsSortable(columns); if (emptyRowCellValue == null) { emptyRowCellValue = " "; } return(WebGridRenderer.Table( this, HttpContext, tableStyle: tableStyle, headerStyle: headerStyle, footerStyle: footerStyle, rowStyle: rowStyle, alternatingRowStyle: alternatingRowStyle, selectedRowStyle: selectedRowStyle, caption: caption, displayHeader: displayHeader, fillEmptyRows: fillEmptyRows, emptyRowCellValue: emptyRowCellValue, columns: columns, exclusions: exclusions, footer: footer, htmlAttributes: htmlAttributes )); }
/// <param name="mode">Modes for pager rendering.</param> /// <param name="firstText">Text for link to first page.</param> /// <param name="previousText">Text for link to previous page.</param> /// <param name="nextText">Text for link to next page.</param> /// <param name="lastText">Text for link to last page.</param> /// <param name="numericLinksCount">Number of numeric links that should display.</param> /// <param name="explicitlyCalled">The Pager can be explicitly called by the public API or is called by the WebGrid when no footer is provided. /// In the explicit scenario, we would need to render a container for the pager to allow identifying the pager links. /// In the implicit scenario, the grid table would be the container. /// </param> private HelperResult Pager( WebGridPagerModes mode, string firstText, string previousText, string nextText, string lastText, int numericLinksCount, bool explicitlyCalled) { if (!_canPage) { throw new NotSupportedException(HelpersResources.WebGrid_NotSupportedIfPagingIsDisabled); } if (!ModeEnabled(mode, WebGridPagerModes.FirstLast) && (firstText != null)) { throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, HelpersResources.WebGrid_PagerModeMustBeEnabled, "FirstLast"), "firstText"); } if (!ModeEnabled(mode, WebGridPagerModes.NextPrevious) && (previousText != null)) { throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, HelpersResources.WebGrid_PagerModeMustBeEnabled, "NextPrevious"), "previousText"); } if (!ModeEnabled(mode, WebGridPagerModes.NextPrevious) && (nextText != null)) { throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, HelpersResources.WebGrid_PagerModeMustBeEnabled, "NextPrevious"), "nextText"); } if (!ModeEnabled(mode, WebGridPagerModes.FirstLast) && (lastText != null)) { throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, HelpersResources.WebGrid_PagerModeMustBeEnabled, "FirstLast"), "lastText"); } if (numericLinksCount < 0) { throw new ArgumentOutOfRangeException("numericLinksCount", String.Format(CultureInfo.CurrentCulture, CommonResources.Argument_Must_Be_GreaterThanOrEqualTo, 0)); } return(WebGridRenderer.Pager(this, HttpContext, mode: mode, firstText: firstText, previousText: previousText, nextText: nextText, lastText: lastText, numericLinksCount: numericLinksCount, renderAjaxContainer: explicitlyCalled)); }