public override void ExecuteResult(ControllerContext context) { if (context == null) { throw new ArgumentNullException("context"); } if (string.IsNullOrEmpty(ViewName)) { this.ViewName = context.RouteData.GetRequiredString("action"); } ViewEngineResult result = null; if (View == null) { View = FindView(context).View; } using (StringWriter output = new StringWriter()) { ViewData["_isGriddlySettingsRequest"] = true; ViewContext viewContext = new ViewContext(context, View, ViewData, TempData, output); View.Render(viewContext, output); Settings = ViewData["settings"] as GriddlySettings; } if (result != null) { result.ViewEngine.ReleaseView(context, View); } }
public override HtmlString RenderCell(object row, GriddlySettings settings, bool encode = true) { TagBuilder input = new TagBuilder("input"); input.Attributes["name"] = "_rowselect"; input.Attributes["type"] = "checkbox"; if (settings.RowIds.Any()) { bool valueSet = false; string key = ""; foreach (var x in settings.RowIds) { string val = ""; object result = x.Value(row); if (result != null) { val = result.ToString(); } input.Attributes["data-" + x.Key] = val; key += "_" + val; if (!valueSet) { input.Attributes["value"] = val; valueSet = true; } } input.Attributes["data-rowkey"] = key; } return(new HtmlString(input.ToString(TagRenderMode.SelfClosing))); }
public GriddlyCsvResult(IEnumerable <T> data, GriddlySettings settings, string name, GriddlyExportFormat format = GriddlyExportFormat.Csv) { _data = data; _settings = settings; _name = name; _format = format; }
public override void PopulateSummaryValues(GriddlySettings <T> settings) { List <GriddlyColumn> summaryColumns = settings.Columns.Where(x => x.SummaryFunction != null).ToList(); if (summaryColumns.Any()) { StringBuilder aggregateExpression = new StringBuilder(); aggregateExpression.Append("SELECT "); for (int i = 0; i < summaryColumns.Count; i++) { if (i > 0) { aggregateExpression.Append(", "); } GriddlyColumn col = summaryColumns[i]; aggregateExpression.AppendFormat("{0}({1}) AS _a{2}", col.SummaryFunction, col.ExpressionString, i); } string sql = string.Format(_outerSqlTemplate, string.Format("{0} FROM ({1}) [_proj]", aggregateExpression.ToString(), _sql)); try { IDbConnection cn = _getConnection(); IDbTransaction tx = _getTransaction != null?_getTransaction() : null; IDictionary <string, object> item = cn.Query(sql, _param, tx).Single(); for (int i = 0; i < summaryColumns.Count; i++) { summaryColumns[i].SummaryValue = item["_a" + i]; } } catch (Exception ex) { throw new DapperGriddlyException("Error populating summary values.", sql, _param, ex); } } }
public static MvcHtmlString Griddly(this HtmlHelper htmlHelper, GriddlyResultPage model, GriddlySettings settings, bool isSimpleGriddly = false) { if (htmlHelper.ViewData["_isGriddlySettingsRequest"] as bool? != true) { ViewDataDictionary viewData = new ViewDataDictionary(htmlHelper.ViewData); viewData.Model = model; viewData["settings"] = settings; viewData["isSimpleGriddly"] = isSimpleGriddly; return(htmlHelper.Partial("~/Views/Shared/Griddly/Griddly.cshtml", viewData)); } else { htmlHelper.ViewContext.ViewData["settings"] = settings; return(null); } }
public abstract HtmlString RenderCell(object row, GriddlySettings settings, bool encode = true);
public static MvcHtmlString SimpleGriddly <T>(this HtmlHelper htmlHelper, GriddlySettings <T> settings, IEnumerable <T> data) { return(htmlHelper.Griddly(new GriddlyResultPage <T>(data), settings, true)); }
public static MvcHtmlString Griddly(this HtmlHelper htmlHelper, GriddlySettings settings) { return(htmlHelper.Griddly((GriddlyResultPage)htmlHelper.ViewData.Model, settings)); }
public GriddlyExcelResult(IEnumerable <T> data, GriddlySettings settings, string name) { _data = data; _settings = settings; _name = name; }