彩票走势图

SharpShooter Reports管理报表数据示例(二)创建报表

原创|使用教程|编辑:郝浩|2013-05-06 16:46:59.000|阅读 268 次

概述:SharpShooter Reports是一款灵活的报表开发工具,支持WinForms、ASP.NET、HTML5多个版本,本文展示SharpShooter Reports管理报表数据的方法。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

  SharpShooter Reports是一款灵活的报表开发工具,支持WinForms、ASP.NET、WPF、HTML5, 和Silverlight多个版本,其一大特色是拥有专门的OLAP包用于多维数据分析,专门的Chart包用于创建丰富的可视化图表。接下来慧都以一个例子来完整展示SharpShooter Reports管理报表数据的方法。

  在日常工作中,我们可能需要一个报表来说明某天的日程,如部门B从3到下午5点要做什么?部门A和C又要做什么?我们就将以这个需求为例,使用SharpShooter Reports 创建这种报表。

  首先,我们先创建一个如下的较为简单的报表:

SharpShooter Reports管理报表数据示例(二)创建报表

  这是一个每部门按日期分的日程表,它的具体需求如下:

  1. 需要显示设定时段内的所有天
  2. 需要显示日期和每个部门的header
  3. 需要显示每个部门某一天的计划

  首先需要在DataSet和数据库之间创建日程计划的关联。这个将用来展示一个指定部门的日程计划。

SharpShooter Reports管理报表数据示例(二)创建报表

  由于可能会涉及到的报表参数等补充数据,所以添加一个额外的数据集。

SharpShooter Reports管理报表数据示例(二)创建报表

  用一个以天为单位的table来创建一个日程表。

SharpShooter Reports管理报表数据示例(二)创建报表

  这个table里面的每条记录将包含一天的开始与结束。

SharpShooter Reports管理报表数据示例(二)创建报表

  然后,在这些table的GenerateDays功能中设置days.To do:

void GenerateDays()
        {
            DateTime from = dateTimePickerFrom.Value.Date;
            DateTime to = dateTimePickerTo.Value.Date;

            int num = (to - from).Days;            

            DayTable.Rows.Clear();
            for (int i = 0; i < num; i++)
            {
                DataRow row = DayTable.NewRow();
                row["From"] = new DateTime(from.Ticks + i * TimeSpan.TicksPerDay);
                row["To"] = new DateTime(from.Ticks + (i + 1) * TimeSpan.TicksPerDay);
                DayTable.Rows.Add(row);
            }
        }

SharpShooter Reports管理报表数据示例(二)创建报表

  在生产报表之前不要忘记调用GenerateDays功能:

private void buttonGenerate_Click(object sender, EventArgs e)
        {
            GenerateDays();
            inlineReportSlot1.Prepare();
            
        }

SharpShooter Reports管理报表数据示例(二)创建报表

  为报表数据源添加额外的dataset。

SharpShooter Reports管理报表数据示例(二)创建报表

  运行报表模板:

SharpShooter Reports管理报表数据示例(二)创建报表

  将第一个数据带区DataBand (dataBand4)的DataSource属性设置为天。

SharpShooter Reports管理报表数据示例(二)创建报表

  将第一个数据带区DataBand (dataBand4)的DataSource属性设置为部门。

SharpShooter Reports管理报表数据示例(二)创建报表

  运用Header元素让dataBand5显示内容与dataBand4对应。

SharpShooter Reports管理报表数据示例(二)创建报表

  将TextBox拖拽到设计器里,并将其链接到GetData(“Day.From)的值。

  接下来是这个报表的第二部分,将每个部门对应到日程。

SharpShooter Reports管理报表数据示例(二)创建报表

  通过参数在dataBand1中过滤日程,需要在FilterExpression属性中设置以下脚本:

(DateTime)GetData("Department.Appointments.Time")>=(DateTime)dataBand4["From"]
  &&
(DateTime)GetData("Department.Appointments.Time")<(DateTime)dataBand4["To"]

  按时间排续这些日程,添加GetData(“Department.Appointments.Time”)标准到排序属性中。

SharpShooter Reports管理报表数据示例(二)创建报表

  这个报表的第二部分也完成了。

SharpShooter Reports管理报表数据示例(二)创建报表

  接下来最后一步就是显示日程本身了,需使用细节元素。

SharpShooter Reports管理报表数据示例(二)创建报表

  添加2个TextBox元素到detail1中,把两个TextBox链接到时间字段和最近日程的描述字段。

SharpShooter Reports管理报表数据示例(二)创建报表

  运行它:

SharpShooter Reports管理报表数据示例(二)创建报表

  报表完成:

SharpShooter Reports管理报表数据示例(二)创建报表


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP