如何将devexpress报表绑定到字符串列表?

时间:2016-12-17 19:42:28

标签: c# devexpress report reporting devexpress-mvc

我尝试使用表创建报告并将其绑定到字符串列表(大约10000个项目)。

我尝试在运行时创建行,但速度非常慢:

String[] ids = GetIds();
DetailTable.BeginInit();
foreach (String id in ids)
{
     XRTableRow newRow = new XRTableRow();
     XRTableCell newCell = new XRTableCell();
     newCell.Text = id;
     newRow.Cells.Add(newCell);
     DetailTable.Rows.Add(newRow);
}
DetailTable.EndInit(); 

我也尝试绑定单元格,但在报告中我只能看到第一行:

var ids = GetIds().Select(id => new {Id = id});
this.DataSource = ids;
IdCell.DataBindings.Add(new XRBinding("Text", DataSource, "Id"));

如何填满我的桌子?

1 个答案:

答案 0 :(得分:0)

我也希望看到您对报告的设计视图。 我这样做如下(在设计视图上):

  1. 将一个xrTable放到DetailReport中 - 这将是表头,只是固定文本, 也许一些格式(背景,字体等......), 我假设你的桌子只有一列。
  2. 插入另一个DetailReport(在第一个内部通过右键单击其名称并选择“插入详细信息报告”)
  3. 在第二个内部放置了另一个相同大小的xrTable和列数 (你会把数据放在那里)
  4. 点击第二个DetailReport的智能标记,添加数据源(模型,列表所在的位置) 并将DataMember指向您的列表项。
  5. 我不知道它是否会将自己映射到列表的字符串值。 可能不是,所以我要更改你的列表[[string]] 例如列表[[MyOneColumnClass]] 其中MyOneColumnClass只是一个只有一个公共字符串值的类{get;然后,您将DataMember指向字段[Value](只需在括号中键入xrTableCell文本。