protected override void BuildRendererTreeInternal(GridRendererContext rendererContext, PermissionContext permissionContext) { var canRenderCreateItemButton = rendererContext.CreateItemIsAllowed() && permissionContext.HasCreateItemPermission; rendererContext.OpenElement(HtmlTagNames.TableHead, rendererContext.CssClasses.TableHeader); rendererContext.OpenElement(HtmlTagNames.TableRow, rendererContext.CssClasses.TableHeaderRow); if (rendererContext.GridConfiguration.IsMasterTable) { RenderEmptyColumnHeader(rendererContext); } foreach (var property in rendererContext.GridItemProperties) { rendererContext.ActualColumnName = property.Name; RenderColumnHeader(rendererContext, property); } if (canRenderCreateItemButton) { BuildCreateItemButtonRendererTree(rendererContext, permissionContext); } if (rendererContext.InlineEditItemIsAllowed() && !canRenderCreateItemButton) { RenderEmptyColumnHeader(rendererContext); } rendererContext.CloseElement(); rendererContext.CloseElement(); }