解决方案 »
- 当前上下文中不存在名称“PixelFormat”
- SerialPort.Close()很慢,像是死锁了但是几分钟之后退出了程序
- 我想实现一个打印功能
- C# 写了一个类似飞信的WinForm程序,现在公司要求挪动手机上去,请问
- 在一个单元测试中,我先建立一个xml文件,然后删除它:在删除时报错误:System.IO.IOException: 文件“C:\a.xml”正由另一进程使用,因此该进
- 晕菜了,System.Runtime.Remoting.Channels.Tcp.TcpChannel找不到名称空间?
- 急问:在winform中,怎么判断在当前目录中有没有aa.xml这个文件???谢谢
- 有关SqlParameter的简单问题!
- ★★★★★【 如何打印窗体 ★★★★★
- 请问这个软件盘源码要怎么用??复制到VS2010老提示错误!
- 利用委托跨线程访问窗体中的控件,怎么TextBox可以访问,ComboBox却不能访问?
- 提取源代码内容导入数据库 新手求教
第一步:添加窗体就不需要我教了吧 ! 在工具箱里面找到CrystalReportViewer控件拖到窗体里面,
第二步:右键添加新项 找到数据集 DataSet1.xsd
第三步: 继续添加新项 Crystal报表 CrystalReport1.rpt 进入的时候选择空白报表
第四步:在DataSet1.xsd 双击进去 右键添加 -TableAdapter 给它命名:此名你自己定义“DsCardConsumption” 然后根据提示连接数据库 然后写SQL语句
这个 数据集就算完成了
第五步:在CrystalReport1.rpt 双击进入 左上角找到--- 字段资源管理器 --数据库字段
右键 - ——数据库字段 —— 数据库专家 - 就会弹出一个框,选择项目数据-ADO.NET 数据集
点开它找到你刚才完成的那个数据集"DsCardConsumption"然后点击确定
然后——数据库字段 下面多出一个数据集就是 DsCardConsumption 里面就会有很多字段,然后拖到CrystalReport1.rpt 详细资料里面 横着依次排开 ,托上去的时候会出现上下两个字段,下面字段显示数据库数据,上面字段显示标题。这个就完成了。
第六步:就是窗体里面下代码:
//这是查询方法 返回来的 dateset
dataSet = reportBLL.GetQueryCardConsumption(start, finish, cardNo);
//这个就是 绑定数据集 的名字“CardConsumption”
dataSet.Tables[0].TableName = "CardConsumption";
//这个就是 第五步建的CrystalReport1.rpt 名字自己改
rptCardConsumption cr = new rptCardConsumption();
cr.SetDataSource(dataSet);
crvCardConsumption.ReportSource = cr;
我没有用水晶报表,而且报表的数据源是业务实体,报表模版、设置数据源等这些都没问题,debug时一点问题也没有。
问题出在,在一台没有安装VS的机器上运行就报错了,那肯定是有些文件没有发布了,程序所需的dll都已经发布了,依然还在报错,那我就不明白了还有哪些文件需要发布,报表模版(rdlc)文件也要发布?ReportViewer需要安装吗?
上图中3块区域分别对应三个业务实体,其中2、3是1的子实体。数据源不是用SQL查出来的,而是List<T>,不要再跟我讲用SQL搞定。