zoukankan      html  css  js  c++  java
  • 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;

  • 相关阅读:
    AutoCAD LISP矩形窗格绘制
    AutoCAD VBA多重延伸
    2011年3月24日星期四
    AutoCAD VBA对齐对象
    AutoCAD VBA根据对象缩放
    AutoCAD LISP绘制多个等半径圆相切
    AutoCAD LISP利用一顶点和三边长绘制三角形
    AutoCAD VBA对象的组合和拆散
    AutoCAD LISP修改已存在圆半径
    AutoCAD VBA基于对象的分层
  • 原文地址:https://www.cnblogs.com/SoftWareIe/p/8793713.html
Copyright © 2011-2022 走看看