我开始在公司项目中使用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文件来格式化它。
提前致谢。
答案 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