title: telerik reporting: variable column width in programatically created table
body: <p>I'm dynamically creating the columns of a table in a telerik report.
  This is the code:</p>
  
  <pre><code>            //create two HtmlTextBox items (one for header and one for data) which would be added to the items collection of the table
          Telerik.Reporting.HtmlTextBox textboxGroup;
          Telerik.Reporting.HtmlTextBox textBoxTable;
  
          //we do not clear the Rows collection, since we have a details row group and need to create columns only
          this.table1.ColumnGroups.Clear();
          this.table1.Body.Columns.Clear();
          this.table1.Body.Rows.Clear();
          int i = 0;
          this.table1.ColumnHeadersPrintOnEveryPage = true;
          var attributes = _objectInstances.First().ObjectType.Attributes;
          foreach (var attribute in attributes)
          {
              if (string.IsNullOrWhiteSpace(attribute.ColumnName) || !_objectInstances.First().Dictionary.ContainsKey(attribute.ColumnName)) continue;
  
              var tableGroupColumn = new Telerik.Reporting.TableGroup();
              this.table1.ColumnGroups.Add(tableGroupColumn);
              this.table1.Body.Columns.Add(new Telerik.Reporting.TableBodyColumn(Unit.Inch(1)));
  
              textboxGroup = new Telerik.Reporting.HtmlTextBox();
              textboxGroup.Style.BorderColor.Default = Color.Black;
              textboxGroup.Style.BorderStyle.Default = BorderType.Solid;
              textboxGroup.Value = attribute.ColumnName;
              textboxGroup.Size = new SizeU(Unit.Inch(1.1), Unit.Inch(0.3));
              tableGroupColumn.ReportItem = textboxGroup;
  
              textBoxTable = new Telerik.Reporting.HtmlTextBox();
              textBoxTable.Style.BorderColor.Default = Color.Black;
              textBoxTable.Style.BorderStyle.Default = BorderType.Solid;
              textBoxTable.Value = "=Fields." + attribute.ColumnName;
              textBoxTable.Size = new SizeU(Unit.Inch(1.1), Unit.Inch(0.3));
              this.table1.Body.SetCellContent(0, i++, textBoxTable);
              this.table1.Items.AddRange(new ReportItemBase[] {textBoxTable, textboxGroup});
          }
  </code></pre>
  
  <p>The problem with this is that the column width is fixed.
  If I try to use textbox.Dock = DockStyle.Fill;
  I get an object reference error.
  Is there a way to automatically adjust the column width according to the content ?</p>