• c# vs2008报表


         1. 做报表没做几次,第一次做的都忘记了,还好今天做一下就把报表弄成功了。报表中“参数字段”是可以变的,就是说需要自己赋值或者是要计算的。而在苏据库字段里面的是固定的值。不需要计算(注:有的字段查询出来但不一定要用,这样也行的)

          1.1报表详细说明:第一步先添加一个窗体,把crystalReportViewer拖到窗体中。如果需要表头的话就家一个textbox控件,为了分开都用groupbox框起来

            图片如下:

           1.2:之后就要添加一个"数据集"xx.xsd需要在这里面新建一张表这张表中的东西是自己需要的字段(说明:有些参数需要经过计算的到或者需要经过变换得到的数据都是“参数字段”,而那些不需要变换直接可以用的就是在“数据库字段”)。需要变换的数据则要在form窗体上写写代码进行计算或者转换。加载的时候调用Init()方法,在Init方法中写具体代码。

     1  #region 窗体加载
     2         private void ReportForm_HuShiPaiBan_Load(object sender, EventArgs e)
     3         {
     4             Init();
     5 
     6         } 
     7         #endregion
     8 
     9 
    10         ParameterFields paramFields = new ParameterFields();
    11         #region 加载报表数据
    12         private void Init()
    13         {
    14             //提取需要的数据
    15             dt_HuShiShangBanXinXi = BLL_PaiBan.Report.PaiBan_Select();
    16             //获取报表对应的参数
    17             ParameterField HangTouText = new ParameterField();
    18             ParameterField QiZhiShiJianText = new ParameterField();
    19             ParameterField ZhongZhiShiJianText = new ParameterField();
    View Code

    在最后需呀加上此代码,赋数据源。

    1 Report.HuShiShangBanXinXi myHuShiShangBanXinXi = new HuShiShangBanXinXi();
    2                  myHuShiShangBanXinXi.SetDataSource(dt_HuShiShangBanXinXi);
    3                  this.crystalReportViewer1.ReportSource = myHuShiShangBanXinXi;
    4                  crystalReportViewer1.Refresh();
    View Code


     

    附上几张图片:在第三张图片中,一般来说selection2、selection3中是放数据的(有事也不一定,按情况而定)定值需要在“素数据库字段中拖拉”而变量则是在参数字段中拖拉(参数字段需要自己新建)。第三幅图中行头下面的两个日期就是“参数”,周一周二下面的就是数据库字段。

          2.如果查询的结果要返回值,但返回值的结果为-1,就要改一下方法(调用数据库的方法)

    int HuShiID = int.Parse(DBLibrary.SQLHelper.ExecuteScalar("JiChuXinXi_HuShiXinXi_Insert", CommandType.StoredProcedure, myDictionary, "YuanGongID").ToString().Trim());
                //如果这里老是返回-1则需要改一下ExecuteScalar方法。。。。。。
                return HuShiID;
    View Code

          3.模糊查询:这里的模糊查询还得理解理解。。。。

     1 //if (tsCbo_ChaXunTiaoJian.Text != "" && tsptxt_KeyWord.Text != "")
     2             //{
     3             //    string[] condition = new string[tsCbo_ChaXunTiaoJian.Items.Count];
     4             //    tsCbo_ChaXunTiaoJian.Items.CopyTo(condition, 0);
     5             //    string[] keyWord = new string[] { "HuShiMingCheng", "HuShiBianHao" };
     6             //    Common.public_method.FuzzySearch(condition, keyWord, tsptxt_KeyWord.Text.ToString().Trim(), tsCbo_ChaXunTiaoJian.Text.ToString().Trim(), this.DGV_DangQianPaiBan, dt_DangQianPaiBan);
     7             //}
     8 
     9             DataTable dt = dt_DangQianPaiBan;
    10             DataView dv = new DataView();
    11             dv = dt.DefaultView;
    12             if (this.tsCbo_ChaXunTiaoJian.Text == "护士编号")
    13             {
    14                 dv.RowFilter = "HuShiMingCheng like" + "'%" + this.tsptxt_KeyWord.Text.Trim() + "%'";
    15             }
    16 
    17             else if (this.tsCbo_ChaXunTiaoJian.Text == "护士名称")
    18             {
    19                 dv.RowFilter = "HuShiBianHao like" + "'%" + this.tsptxt_KeyWord.Text.Trim() + "%'";
    20             }
    21             this.DGV_DangQianPaiBan.DataSource = dv;
    22             tsptxt_KeyWord.Clear();
    23 
    24 
    25         }
    View Code

          

  • 相关阅读:
    velocity语法
    使用VS2003创建WEB程序的时候出现"AutoMation服务器不能创建对象"错误
    ASP.NET 2.0 Tips:跨页提交
    Tip #1 – 创建、管理、应用样式表的强大工具(Visual Studio 2008)
    解决ASP.NET2.0和1.1在同一台电脑上不能并行的问题
    Tip #2 - 样式应用工具(style application toolbar)
    利用HttpModuler实现WEB程序同一时间只让一个用户实例登陆
    ASP.NET Tips: 获取插入记录的ID
    通过rsync远程增量备份数据
    array_merge() [function.arraymerge]: Argument #1 is not an array in ……错误的解决办法
  • 原文地址:https://www.cnblogs.com/wuhao1991/p/3426279.html
Copyright © 2020-2023  润新知