Note that there are some explanatory texts on larger screens.

plurals
  1. PObinding a table to a dictionary in telerik reporting c#
    primarykey
    data
    text
    <p>I want to bind a table to a list of objects, each object has a IDictionary.</p> <pre><code>public ObjectInstance { public IDictionary&lt;string, object&gt; Dictionary { get; set; } </code></pre> <p>The source is a <code>IEnumerable&lt;ObjectInstance&gt;</code> I've tried this with no success:</p> <pre><code> void table1_ItemDataBinding(object sender, EventArgs e) { //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)) 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 = "=Dictionary[\"" + attribute.ColumnName + "\"]"; //_objectInstances.First()[attribute.ColumnName].ToString(); 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>Which is the correct way to bind to a dictionary </p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload