C# WinfForm 控件之dev报表 XtraReport(三) 动态数据绑定

代码还用上一节的,把reportFrx的dataSource去掉。各cell绑定的字段也去掉,有了第二节的基础,现在看这个ms就不难了 无非就是 传到reportFrx一个数据集 在把这个数据集 绑到各控件里 清空details里的cell的值 各cell 改成数据库对应列的名字方便绑定。

妈蛋想法是好的 可是我怎么绑都是只显示一条数据 原来这个项目已经无药可救

没办法新建 了一个项目

1.新建一个项目 叫xtraReportLearn form1上放一个documentView1 再放一个button1  新建 一个空XtraReport 命名为 XReport 在这上边的details中放几个XRLabel

XReport代码如下做用就是 绑定一下数据

namespace XtrReportLearn
{
    public partial class XReport : DevExpress.XtraReports.UI.XtraReport
    {
        public XReport()
        {
            InitializeComponent();
        }

        //重载一个构造函数
        public XReport(DataTable dt )
        {
            InitializeComponent();//这个不可少
            this.DataSource = dt;
            this.UserID.DataBindings.Add("Text", dt, "ID");//绑定
            this.UserName.DataBindings.Add("Text", dt, "UserName");
            this.Roles.DataBindings.Add("Text", dt, "Roles");
        }
    }
}
View Code

2.form1代码如下

namespace XtrReportLearn
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {

            using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=123;database=test"))
            {
                using (SqlDataAdapter ada = new SqlDataAdapter("select * from usersTmp", con))
                {
                    DataTable dt = new DataTable();
                    ada.Fill(dt);
                    XReport xr = new XReport(dt);
                    xr.Landscape = false;
                    documentViewer1.DocumentSource = xr;

                    xr.CreateDocument();
                }
            }
        }
    }
}
View Code

3.效果图

原来的错误分析:1.网上说有可能是 报表连接了一些数据集 像sqldatasource query 什么的 绑定的时应全部干掉 我可能干掉的不完全可能

                             2.我想我控件起名也有问题 xrTable 绑定id的我起名叫ID 可能有冲突(应该不是这个问题 我改成userID后还是只有一行数据)

结论:可能里边连接数据集什么的的没删干净 最好的方法就是重新建 一个新的report  

最后我没找到原因0.0 如果出这种错误就新建一个吧

如果调用打印方法的话还得加一下下边的引用

using DevExpress.XtraReports.UI;

原文地址:https://www.cnblogs.com/SoftWareIe/p/8793713.html