当前位置: 首页 > news >正文

winfrom 水晶报表制作

1,下载安装软件CRforVS_13_0_4.exe

2,使用vs2010,新建.net3.0项目,注意报表软件只支持3.0,3.0以上的不支持

3,添加报表文件

4,设计报表界面

5,添加数据对象

6,添加MSSQL对象

7,填入数据

8,导入表格

9,拉动字段到页面上

 

 10,书写程序(注意报表的路径,本文把报表文件拷贝到bin/dubug文件夹下),或者直接在页面添加 crystalReportViewer1,右上角创建报表

 string sqlstr = "select * from S_Menu";
            DataSet data = SQL_helper.Sql_helper.Query(sqlstr);
            try
            {            //使用报表加载数据
                ReportDocument myreport = new ReportDocument();
                string reportPath = "report.rpt";
                myreport.Load(reportPath);
                myreport.SetDataSource(data);
                crystalReportViewer1.ReportSource = myreport;
            }
            catch(Exception ex) {
                MessageBox.Show(ex.Message);
            }

11,运行结果

 12注意fill的别名必须要和表名一样

        /// <summary>  
        /// 执行查询语句,返回dataset  
        /// </summary>  
        /// <param name="sqlstring"></param>  
        /// <returns></returns>  
        ///  
        public static DataSet Query(string sqlstring)
        {
            using (SqlConnection connection = new SqlConnection(str))
            {
                DataSet ds = new DataSet();
                try
                {
                    connection.Open();
                    SqlDataAdapter command = new SqlDataAdapter(sqlstring, connection);
                    command.Fill(ds, "S_Menu");
                }
                catch (System.Data.SqlClient.SqlException ex)
                {
                    throw new Exception(ex.Message);
                }
                return ds;
            }

        }  

 

转载于:https://www.cnblogs.com/kbqLibrary/p/8033902.html

相关文章:

  • 洛谷 P1454 圣诞夜的极光
  • 关于手势处理
  • ASP.NET Web API 使用Swagger生成在线帮助测试文档,支持多个GET
  • Centos运行Mysql因为内存不足进程被杀
  • BZOJ3529 [Sdoi2014]数表 【莫比乌斯反演】
  • JS 详解 Cookie、 LocalStorage 与 SessionStorage
  • 进程和线程(5)-分布式进程
  • LeetCode-13-roman-to-integer
  • 荣品i.mx6q飞思卡尔工业级核心板开发板高稳定性
  • SoapUI使用中遇到的问题及解决办法
  • 【软工项目组】第十三次会议(样式设计2.0)
  • QGhappy小组第三次作业第十次会议完成情况
  • corethink功能模块探索开发(二)让这个模块可安装
  • [svc]对称加密/非对称加密细枝末节-如何做到数据传输的authentication/data integrity/confidentiality(私密)...
  • 1的个数
  • [译] 怎样写一个基础的编译器
  • 30秒的PHP代码片段(1)数组 - Array
  • go语言学习初探(一)
  • HTTP请求重发
  • Idea+maven+scala构建包并在spark on yarn 运行
  • Javascripit类型转换比较那点事儿,双等号(==)
  • java正则表式的使用
  • js ES6 求数组的交集,并集,还有差集
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • php的插入排序,通过双层for循环
  • React中的“虫洞”——Context
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Travix是如何部署应用程序到Kubernetes上的
  • v-if和v-for连用出现的问题
  • vue2.0项目引入element-ui
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • Yii源码解读-服务定位器(Service Locator)
  • 分布式熔断降级平台aegis
  • 关于Flux,Vuex,Redux的思考
  • 排序(1):冒泡排序
  • 我与Jetbrains的这些年
  • 用jquery写贪吃蛇
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #Ubuntu(修改root信息)
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (动态规划)5. 最长回文子串 java解决
  • (实战篇)如何缓存数据
  • (算法二)滑动窗口
  • .NET Core 版本不支持的问题
  • .NET Standard 的管理策略
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .net连接MySQL的方法
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .net下简单快捷的数值高低位切换
  • @Autowired和@Resource装配
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [AIGC 大数据基础]hive浅谈
  • [C#]C# winform部署yolov8目标检测的openvino模型
  • [COI2007] Sabor