代码还用上一节的,把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"); } } }
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(); } } } } }
3.效果图
原来的错误分析:1.网上说有可能是 报表连接了一些数据集 像sqldatasource query 什么的 绑定的时应全部干掉 我可能干掉的不完全可能
2.我想我控件起名也有问题 xrTable 绑定id的我起名叫ID 可能有冲突(应该不是这个问题 我改成userID后还是只有一行数据)
结论:可能里边连接数据集什么的的没删干净 最好的方法就是重新建 一个新的report
最后我没找到原因0.0 如果出这种错误就新建一个吧
如果调用打印方法的话还得加一下下边的引用
using DevExpress.XtraReports.UI;