private void InitializeEditors() { var skip = ViewContext.HttpContext.Items["$SelfInitialize$"] != null && (bool)ViewContext.HttpContext.Items["$SelfInitialize$"] == true; var popupSlashes = new Regex("(?<=data-val-regex-pattern=\")([^\"]*)", RegexOptions.Multiline); ViewContext.HttpContext.Items["$SelfInitialize$"] = true; var dataItem = Editable.DefaultDataItem(); var htmlHelper = new GridHtmlHelper <T>(ViewContext, DataKeyStore); if (Editable.Mode != GridEditMode.InLine && Editable.Mode != GridEditMode.InCell) { var container = new HtmlElement("div").AddClass(UIPrimitives.Grid.InFormContainer); htmlHelper.EditorForModel(dataItem, Editable.TemplateName, Columns.OfType <IGridForeignKeyColumn>().Select(c => c.SerializeSelectList), Editable.AdditionalViewData).AppendTo(container); EditorHtml = popupSlashes.Replace(container.InnerHtml, match => { return(match.Groups[0].Value.Replace("\\", IsInClientTemplate ? "\\\\\\\\" : "\\\\")); }); } else { var cellBuilderFactory = new GridCellBuilderFactory(); VisibleColumns.Each(column => { var cellBuilder = cellBuilderFactory.CreateEditCellBuilder(column, htmlHelper); var editor = cellBuilder.CreateCell(dataItem); var editorHtml = editor.InnerHtml; if (IsInClientTemplate) { editorHtml = popupSlashes.Replace(editorHtml, match => { return(match.Groups[0].Value.Replace("\\", "\\\\")); }); } column.EditorHtml = editorHtml; }); } if (!skip) { ViewContext.HttpContext.Items.Remove("$SelfInitialize$"); } }
private GridRenderingData CreateRenderingData() { var renderingData = new GridRenderingData { TableHtmlAttributes = TableHtmlAttributes, DataKeyStore = DataKeyStore, HtmlHelper = new GridHtmlHelper <T>(ViewContext, DataKeyStore), UrlBuilder = UrlBuilder, DataSource = DataSource.Data, Columns = VisibleColumns.Cast <IGridColumn>(), GroupMembers = DataSource.Groups.Select(g => g.Member), Mode = CurrentItemMode, EditMode = Editable.Mode, HasDetailTemplate = HasDetailTemplate, Colspan = Colspan - Columns.Count(column => column.Hidden), DetailTemplate = MapDetailTemplate(HasDetailTemplate ? DetailTemplate : null), NoRecordsTemplate = FormatNoRecordsTemplate(), ScrollingHeight = Scrollable.Height, //EditFormHtmlAttributes = Editing.FormHtmlAttributes, ShowFooter = VisibleColumns.Any(c => c.FooterTemplate.HasValue() || c.ClientFooterTemplate.HasValue()), AggregateResults = DataSource.AggregateResults ?? new List <AggregateResult>(), Aggregates = Aggregates.SelectMany(aggregate => aggregate.Aggregates), GroupsCount = DataSource.Groups.Count, ShowGroupFooter = Aggregates.Any() && VisibleColumns.OfType <IGridBoundColumn>().Any(c => c.GroupFooterTemplate.HasValue()), PopUpContainer = new HtmlFragment(), CreateNewDataItem = () => Editable.DefaultDataItem(), InsertRowPosition = Editable.CreateAt, EditTemplateName = Editable.TemplateName, AdditionalViewData = Editable.AdditionalViewData, FormId = ViewContext.FormContext.FormId, Callback = RowActionCallback }; if (RowTemplate.HasValue()) { renderingData.RowTemplate = (dataItem, container) => RowTemplate.Apply((T)dataItem, container); } return(renderingData); }
private void InitializeEditors() { var skip = ViewContext.HttpContext.Items["$SelfInitialize$"] != null && (bool)ViewContext.HttpContext.Items["$SelfInitialize$"] == true; ViewContext.HttpContext.Items["$SelfInitialize$"] = true; var dataItem = Editable.DefaultDataItem(); var htmlHelper = new GridHtmlHelper <T>(ViewContext, DataKeyStore); if (Editable.Mode != GridEditMode.InLine && Editable.Mode != GridEditMode.InCell) { var container = new HtmlElement("div").AddClass(UIPrimitives.Grid.InFormContainer); htmlHelper.EditorForModel(dataItem, Editable.TemplateName, Columns.OfType <IGridForeignKeyColumn>().Select(c => c.SerializeSelectList), Editable.AdditionalViewData).AppendTo(container); EditorHtml = container.InnerHtml; } else { var cellBuilderFactory = new GridCellBuilderFactory(); VisibleColumns.Each(column => { var cellBuilder = cellBuilderFactory.CreateEditCellBuilder(column, htmlHelper); var editor = cellBuilder.CreateCell(dataItem); column.EditorHtml = editor.InnerHtml; }); } if (!skip) { ViewContext.HttpContext.Items.Remove("$SelfInitialize$"); } }
private void InitializeEditor() { if (Editable.Enabled) { var popupSlashes = new Regex("(?<=data-val-regex-pattern=\")([^\"]*)", RegexOptions.Multiline); var helper = new HtmlHelper <T>(ViewContext, new ListViewViewDataContainer <T>(Editable.DefaultDataItem(), ViewData)); if (Editable.TemplateName.HasValue()) { EditorHtml = helper.EditorForModel(Editable.TemplateName).ToHtmlString(); } else { EditorHtml = helper.EditorForModel().ToHtmlString(); } EditorHtml = popupSlashes.Replace(EditorHtml, match => { return(match.Groups[0].Value.Replace("\\", IsInClientTemplate ? "\\\\\\\\" : "\\\\")); }); } }
private void InitializeEditor() { if (Editable.Enabled) { var helper = new HtmlHelper <T>(ViewContext, new ListViewViewDataContainer <T>(Editable.DefaultDataItem(), ViewData)); if (Editable.TemplateName.HasValue()) { EditorHtml = helper.EditorForModel(Editable.TemplateName).ToHtmlString(); } else { EditorHtml = helper.EditorForModel().ToHtmlString(); } } }