DevExpress XtraReports - 如何从自定义数据源配置字段

时间:2012-05-04 01:13:42

标签: asp.net-mvc-3 linq-to-sql xtrareport

我开始在公司项目中使用DevExpress XtraReports。我的问题如下:

我有一个存储过程可以提取数据,给出三个参数:startDay,endDay和开发者ID,这个SP在.dbml文件中。

按照此示例http://www.devexpress.com/Support/Center/p/B223095.aspx,我们有这个方法:

  

static void report_DataSourceDemanded(object sender,System.EventArgs e)          {

       Reports.WeeklyTimesheet report = (Reports.WeeklyTimesheet)sender;
       DataClasses1DataContext context = new DataClasses1DataContext();
       System.Data.Linq.ISingleResult<WeeklyTimesheetUserReportResult> res = >context.WeeklyTimesheetUserReport(Convert.ToDateTime("2012/01/16"), >Convert.ToDateTime("2012/01/20"), 52);
       var result = from orderDetail in res select orderDetail;
       report.DataSource = res.ToList();
     

}

这是我发现(有效)将参数传递给报告的SP的唯一方法。

我能做什么,以便报告附带我成功带来的数据,但是没有约束到报告中?附图将更好地说明这一点。

我必须指出,当我在图像中创建该报告时,最初使用向导从数据集格式化(因此为什么是有序的),但我不知道如何使用.dbml文件来格式化它。

提前致谢。

http://imgur.com/YQ7RE

1 个答案:

答案 0 :(得分:0)

XtraReport具有xrTables,xrLabel控件,它们将允许您创建自定义报告,之后您可以绑定这些单元格等,并以下列方式修改报告的XRControl绑定:

[C#] ...

  // Original 
  //this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
  // new DevExpress.XtraReports.UI.XRBinding("Text", null, "Symbols.Description")});
  // Modified
  this.xrTableCell14.DataBindings.AddRange(new DevExpress.XtraReports.UI.XRBinding[] {
    new DevExpress.XtraReports.UI.XRBinding("Text", null, "Description")});

...

参考这些链接和样本..

  

Binding a Report to an Entity Framework object at runtime [ How to use LINQ to SQL data source to create a Master-Detail report example