public void AddEditField(EditInputRendererTree editInputRendererTree, PermissionContext permissionContext)
        {
            if (!ActualColumnPropertyCanBeEdited ||
                !permissionContext.HasCurrentUserWritePermission(ActualColumnName))
            {
                AddActualColumnValue(permissionContext);

                return;
            }

            if (columnEditRendererBuilders.TryGetValue(ActualColumnName, out var builder))
            {
                var editColumnContext       = new EditColumnContext(ActualColumnName, TableDataSet.EditItemProperty);
                var rendererFragmentAdapter = builder.Invoke(editColumnContext);
                var fragment = rendererFragmentAdapter.GetColumnFragment(ActualItem);
                RendererTreeBuilder.AddContent(fragment);

                return;
            }

            editInputRendererTree.BuildInputRendererTree(
                RendererTreeBuilder,
                this,
                TableDataSet.EditItemProperty);
        }
        public void AddActualColumnValue(PermissionContext permissionContext)
        {
            if (!permissionContext.HasCurrentUserReadPermission(ActualColumnName))
            {
                RendererTreeBuilder.AddContent("*****");
                return;
            }

            if (specialColumnValues.TryGetValue(ActualColumnName, out var rendererFragmentAdapter))
            {
                var fragment = rendererFragmentAdapter.GetColumnFragment(ActualItem);
                RendererTreeBuilder.AddContent(fragment);
                return;
            }

            var valueFormatter = valueFormatters[ActualColumnName];
            var inputForColumnValueFormatter = valueFormatter.FormatterType == ValueFormatterType.SingleProperty
                ? PropertyValueAccessor.GetValue(ActualItem, ActualColumnName)
                : ActualItem;

            RendererTreeBuilder.AddContent(new MarkupString(
                                               valueFormatter.FormatValue(inputForColumnValueFormatter))
                                           );
        }
 public void AddColspan()
 {
     RendererTreeBuilder.AddAttribute(HtmlAttributes.Colspan, GridItemProperties.Count + 1);
     RendererTreeBuilder.AddContent(string.Empty);
 }
 public void AddMarkupContent(string content)
 => RendererTreeBuilder.AddContent(new MarkupString(content));
 public void AddContent(string content)
 => RendererTreeBuilder.AddContent(content);