DevExpress XtraReport 开发指南|单表报表设计详解(C#)|C/S开发框架
作者:csframework|C/S框架网  发布日期:2024/10/20 11:49:47

DevExpress XtraReport 开发指南-单表报表设计详解(C#)

DevExpress XtraReport报表设计非常简单,按照下面的步骤轻松完成。



新增一份XtraReport报表



贴图图片



贴图图片



贴图图片


报表设计器 (Report Designer)




贴图图片


绑定数据字段 (Binding Data Field)



在DetailBand报表段内拖放XRLabel组件,可以对其绑定数据字段,具体作法是给Text属性赋值,比如:
[SONO] ,SONO是字段名,绑定的字段必须加中括号!(重要)

金额或数量汇总 (Report Summary)

在GroupFooter区域拖放一个XRLabel组件,在XRLabel.Summary属性设置如下:


贴图图片


然后绑定主表的Amount字段:

C# 全选
//金额汇总控件绑定数据源
xrLabel2.DataBindings.Add("Text",this.DataSource,"Amount");



系统变量/系统函数 System Variables






贴图图片


设计好报表,然后动态加载数据源。

C#代码参考



单表报表只需要一个数据表,我们只需要给Report绑定数据源即可。(重要)

预览报表:

C# 全选
    private void button2_Click(object sender, EventArgs e)
        {
            XtraReport_SingleTable mMyReport = new XtraReport_SingleTable(); //报表实例
            DataSet data = DAL.GetSummaryData();//取销售订单主表数据
            mMyReport.SetReportDataSource(data);//绑定数据源
            frmReportPreview.DoPreviewReport(mMyReport, this);
        }


具体步骤:

1.创建报表实例
2.通过DAL层获取报表数据,返回DataSet类型,仅包含一张数据表,取名为tb_SO
3.调用自定义方法SetReportDataSource,绑定数据源。(重要)
4.打开预览窗体显示报表

单表:设置报表数据源SetReportDataSource方法

参考 rptUserList.cs

C# 全选
  public void SetReportDataSource(DataSet dataSource)
        {
            this.DataSource = dataSource.Tables[0];//主表数据
            //金额汇总控件绑定数据源
            xrLabel2.DataBindings.Add("Text",this.DataSource,"Amount");
        }

主从表:设置报表数据源SetReportDataSource方法

参考:rptSO.cs

C# 全选
public void SetReportDataSource(DataSet reportData)
{
    //因涉及到修改DataSet的内部属性,建议创建副本进行操作。
    DataSet ds = reportData.Copy();//创建副本

    //重要!!!给组(GroupHeader)绑定主键字段
    //本报表是按业务单号分组
    GroupField gf = new GroupField("SONO", XRColumnSortOrder.Ascending);
    GroupHeader1.GroupFields.Add(gf);

    //给数据集建立主外键关系
    DataColumn parentColumn = ds.Tables["tb_SO"].Columns["SONO"];
    DataColumn childColumn = ds.Tables["tb_SOs"].Columns["SONO"];
    DataRelation R1 = new DataRelation("R1", parentColumn, childColumn, false);
    ds.Relations.Add(R1);

    //绑定主表的数据源
    this.DataMember = "tb_SO";
    this.DataSource = ds;

    //绑定明细表的数据源
    this.DetailReport.DataMember = "R1";
    this.DetailReport.DataSource = ds;

    //自动绑定明细表XRLabel的数据源
    this.BindingFields(ds, this.Detail1.Controls);

    xrLabel15.DataBindings.Add("Text", ds, "R1.Amount");//绑定小计(当前单据的总金额)
    xrLabel23.DataBindings.Add("Text", ds, "R1.Amount");//绑定总计(所有单据的总金额)
}


总结:

单表报表相对简单,通过本文的详细介绍您完全可以开发一份个性化报表了。

C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信

C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务





扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务
上一篇 下一篇