C# 机房重构——周结账单、报表设计

C# 机房重构——周结账单、报表设计

前言

研究了一天的报表设计问题,自己也粗略的实现了周结账单,那就让我们赶快来实践一下吧。

成果:
在这里插入图片描述
报表
在这里插入图片描述

报表设计

步骤一:添加报表——鼠标右击插入表
在这里插入图片描述
在这里插入图片描述
步骤二:为表提供数据源——设置名称——新建数据源
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
步骤三:测试连接
在这里插入图片描述
步骤四:选择数据库对象,需要什么添加什么
在这里插入图片描述
在这里插入图片描述
步骤五:想表格添加数据
在这里插入图片描述
在这里插入图片描述
这时候你会发现表头全是英文,需要修改一下字体,选择黑体。

在这里插入图片描述
现在报表已近制作完成剩下的就是窗体了。

周结账单

步骤一:添加窗体——在窗体中添加报表控件ReportViewer
在这里插入图片描述
步骤二:点击表格右上角小三角——选择我们之前制作的报表——添加数据源
在这里插入图片描述
在这里插入图片描述
步骤三:添加报表之后下面会出现三个控件——选择TableAdapter右击
在这里插入图片描述
步骤四:右击——配置——出现配置向导,再点击查询生成器

在这里插入图片描述
在这里插入图片描述
步骤四:点击下一步——最后完成
在这里插入图片描述

U层代码实现

private void frmCheckWeek_Load(object sender, EventArgs e)
        {
    
    
            //刷新报表
            this.reportViewer1.RefreshReport();

        }

        private void btnQuery_Click(object sender, EventArgs e)
        {
    
    

            if (dtpStartTime.Value >dtpEndTime.Value )
            {
    
    
                MessageBox.Show("开始时间不能大于结束时间,请重新选择");
            }
            else
            {
    
    
                if (dtpEndTime.Value>DateTime.Now.Date )
                {
    
    
                    MessageBox.Show("结束时间不能超过今天,请重新选择");
                }
            }
            // TODO: 这行代码将数据加载到表“charge_sysDataSet1.checkWeek_Info”中。您可以根据需要移动或删除它。
//dtpStartTime.value与sql语句中的@StartTime参数对应,下同
            this.checkWeek_InfoTableAdapter.FillBy(this.charge_sysDataSet1.checkWeek_Info, dtpStartTime.Value.ToString(), dtpEndTime.Value.ToString());
            //刷新报表
            this.reportViewer1.RefreshReport();
        }

猜你喜欢

转载自blog.csdn.net/wangwei021933/article/details/115271354