protected override void BuildRenderTreeInternal(GridRendererContext rendererContext, PermissionContext permissionContext) { rendererContext.OpenElement(HtmlTagNames.TableRow, rendererContext.CssClasses.TableRow); var localActualItem = rendererContext.ActualItem; rendererContext.AddOnClickEvent( EventCallback.Factory.Create(this, (MouseEventArgs e) => { rendererContext.TableDataSet .GridViewEvents .OnItemClicked?.Invoke(new ItemClickedArgs { Item = localActualItem }); })); foreach (var property in rendererContext.GridItemProperties) { rendererContext.ActualColumnName = property.Name; rendererContext.ActualColumnPropertyCanBeEdited = property.CanWrite; GridPartRenderers.ForEach(renderer => renderer.BuildRendererTree(rendererContext, permissionContext)); } rendererContext.CloseElement(); GridPartRenderersAfter.ForEach(renderer => renderer.BuildRendererTree(rendererContext, permissionContext)); }
protected override void BuildRenderTreeInternal(GridRendererContext rendererContext, PermissionContext permissionContext) { using (new MeasurableScope(sw => _logger.LogInformation($"Grid rendering duration {sw.ElapsedMilliseconds}ms"))) { try { GridPartRenderersBefore.ForEach(renderer => renderer.BuildRendererTree(rendererContext, permissionContext)); rendererContext.OpenElement(HtmlTagNames.Div, "table-wrapper"); rendererContext.OpenElement(HtmlTagNames.Table, rendererContext.CssClasses.Table); GridPartRenderers.ForEach(renderer => renderer.BuildRendererTree(rendererContext, permissionContext)); rendererContext.CloseElement(); // Close table GridPartRenderersAfter.ForEach(renderer => renderer.BuildRendererTree(rendererContext, permissionContext)); rendererContext.CloseElement(); // Close table wrapper } catch (Exception ex) { _logger.LogError($"Error raised during rendering GridView component. Ex: {ex}"); } } }