RadDocument incorrect TableCell width

1 posts, 0 answers
  1. Erik
    Erik avatar
    36 posts
    Member since:
    Jun 2012

    Posted 29 Dec 2012 Link to this post

    When I create a table with LayoutMode = TableLayoutMode.Fixed, multiple columns and different size TableCells, the cells in the second row and onwards have incorrect widths.

    When running the code below (see also the attached screenshot):
    • the widths of the cells in the first row are correct
    • the first cell in the second and third row are too wide
    • the second and fourth cell in the second and third row should be the same width, but they are not

    Am I doing something wrong? Should I take some margin or border width into account when working with fixed with TableCells?

    I'm using version 2012.3.1129.40

    using System.Collections.Generic;
    using System.Windows.Media;
    using Telerik.Windows.Documents.Model;
    namespace RadDocumentTableTest
        public partial class MainWindow
            public MainWindow()
                var document = new RadDocument();
                var section = new Section();
                section.Blocks.Add(new Paragraph());
                var table = new Table
                    LayoutMode = TableLayoutMode.Fixed,
                    Style = document.StyleRepository["TableGrid"],
                    PreferredWidth = new TableWidthUnit(618)
                RichTextBox.Document = document;
            private static TableCell CreateTableCell(int colSpan, double width, string text)
                var cell = new TableCell
                    ColumnSpan = colSpan,
                    PreferredWidth = new TableWidthUnit(TableWidthUnitType.Fixed, width),
                var par = new Paragraph();
                var span = new Span
                    Text = text,
                    FontFamily = new FontFamily("Calibri"),
                    FontSize = 15
                return cell;
            private static IEnumerable<TableRow> CreateRows()
                var rows = new List<TableRow>();
                var row1 = new TableRow();
                row1.Cells.Add(CreateTableCell(1, 55, "r1c1:cs1:w55"));
                row1.Cells.Add(CreateTableCell(2, 125, "r1c2:cs2:w125"));
                row1.Cells.Add(CreateTableCell(1, 90, "r1c3:cs1:w90"));
                row1.Cells.Add(CreateTableCell(3, 348, "r1c4:cs3:w348"));
                var row2 = new TableRow();
                row2.Cells.Add(CreateTableCell(2, 90, "r2c1:cs2:w90"));
                row2.Cells.Add(CreateTableCell(3, 219, "r2c2:cs3:w219"));
                row2.Cells.Add(CreateTableCell(1, 90, "r2c3:cs1:w90"));
                row2.Cells.Add(CreateTableCell(1, 219, "r2c4:cs1:w219"));
                var row3 = new TableRow();
                row3.Cells.Add(CreateTableCell(2, 90, "r3c1:cs2:w90"));
                row3.Cells.Add(CreateTableCell(3, 219, "r3c2:cs3:w219"));
                row3.Cells.Add(CreateTableCell(1, 90, "r3c3:cs1:w90"));
                row3.Cells.Add(CreateTableCell(1, 219, "r3c4:cs1:w219"));
                return rows;
Back to Top