微软的报表控件reportViewer、Report.rdlc,如何设置下图中柱状图的属性?

zhmvb 2008-06-26 05:47:49
想利用微软的报表控件reportViewer、Report.rdlc打份统计图表,想要的数据展示效果如下图:



在Report1.rdlc 中图表中提供了下面的的属性:



请问如何设置才能才能实现第一副图中数据展示效果啊?或者谁有类似的代码提供参考一下?

...全文
1070 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
凋零的老树 2009-08-20
  • 打赏
  • 举报
回复
reportviewer labels format code
zhmvb 2008-06-27
  • 打赏
  • 举报
回复
非常感谢楼上的大哥!
曲滨_銘龘鶽 2008-06-26
  • 打赏
  • 举报
回复
7 天的临时文件中转要下载快点;
曲滨_銘龘鶽 2008-06-26
  • 打赏
  • 举报
回复
在工程下建立一个叫 ReportDataInfo.cs

using System;
using System.Collections.Generic;
using System.Text;

namespace Flashelf.Demo.Report
{
public class ReportDataInfo
{

string _quarter;
//季度
public string Quarter
{
get { return _quarter; }
set { _quarter = value; }
}
decimal _money;
//钱
public decimal Money
{
get { return _money; }
set { _money = value; }
}
int _year;
//年代
public int Year
{
get { return _year; }
set { _year = value; }
}
}

//集合和数据类
public class ReportDataInfos:System.Collections.ObjectModel.Collection<ReportDataInfo>
{
public void Add(string quarter,decimal money,int year)
{
ReportDataInfo data = new ReportDataInfo();
data.Money = money;
data.Quarter = quarter;
data.Year = year;

base.Add(data);
}
}
}


在 Form1 添加一个 Microsoft.Reporting.WinForms.ReportViewer 控件



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Reporting.WinForms;


namespace Flashelf.Demo.Report
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
//测试数据
ReportDataInfos datas = new ReportDataInfos();

datas.Add("一季度",10,2004);
datas.Add("二季度", 20, 2004);
datas.Add("三季度", 30, 2004);

datas.Add("一季度", 50, 2005);
datas.Add("二季度", 60, 2005);
datas.Add("三季度", 70, 2005);

//这里web 和 winform 有些出入不过差不多

//设置 ReportDataSource
ReportDataSource reportDataSource1 = new ReportDataSource();
reportDataSource1.Name = "Flashelf_Demo_Report_ReportDataInfos";
reportDataSource1.Value = datas;


this.reportViewer1.LocalReport.DataSources.Add(reportDataSource1);

//资源名 rdlc 默认会编译为坠入资源
this.reportViewer1.LocalReport.ReportEmbeddedResource = "Flashelf.Demo.Report.Report1.rdlc";


this.reportViewer1.RefreshReport();

}
}
}


按我的步骤就可以了;然后打开报表看我怎么设置的就可以了;

要代码的话:

http://exs.mail.foxmail.com/cgi-bin/downloadfilepart/svrid6/Report.rar?svrid=6&fid=13dff18e783787b2e77c731c6ee5d8062d764d2cdd4bba0c&&txf_fid=b74038d5382926043de2387c2fed13889ab9d6e6&&txf_sid=96b170b70ca61d06f0cdf2438a73e8227f9c748e

提取代码:f11e9fd2

看你用的是DataSet 一样的都是,只不过我更喜欢用实体类而已;看着清晰点能;
曲滨_銘龘鶽 2008-06-26
  • 打赏
  • 举报
回复
新建立一个项目叫 Flashelf.Demo.Report winForm 的否则对应不了我后面的的那个例子;

然后建立一个 Report1.rdlc 用xml编辑器打开,把下面的copy 进去

<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<DataSources>
<DataSource Name="DummyDataSource">
<rd:DataSourceID>878d145f-73bc-4db6-9c15-4afb845c3c69</rd:DataSourceID>
<ConnectionProperties>
<DataProvider>SQL</DataProvider>
<ConnectString />
</ConnectionProperties>
</DataSource>
</DataSources>
<InteractiveHeight>29.7cm</InteractiveHeight>
<rd:DrawGrid>true</rd:DrawGrid>
<InteractiveWidth>21cm</InteractiveWidth>
<rd:GridSpacing>0.25cm</rd:GridSpacing>
<rd:SnapToGrid>true</rd:SnapToGrid>
<RightMargin>2.5cm</RightMargin>
<LeftMargin>2.5cm</LeftMargin>
<BottomMargin>2.5cm</BottomMargin>
<rd:ReportID>966dffa6-d6e4-4f5f-89d3-fcfc8a405d40</rd:ReportID>
<PageWidth>21cm</PageWidth>
<DataSets>
<DataSet Name="Flashelf_Demo_Report_ReportDataInfos">
<Fields>
<Field Name="Money">
<DataField>Money</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="Quarter">
<DataField>Quarter</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Year">
<DataField>Year</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
</Fields>
<Query>
<DataSourceName>DummyDataSource</DataSourceName>
<CommandText />
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
</Query>
<rd:DataSetInfo>
<rd:DataSetName>Flashelf.Demo.Report</rd:DataSetName>
<rd:TableName>ReportDataInfos</rd:TableName>
<rd:ObjectDataSourceType>Flashelf.Demo.Report.ReportDataInfos, Flashelf.Demo.Report, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</rd:ObjectDataSourceType>
</rd:DataSetInfo>
</DataSet>
</DataSets>
<Width>16cm</Width>
<Body>
<ColumnSpacing>1cm</ColumnSpacing>
<ReportItems>
<Chart Name="chart1">
<Legend>
<Visible>true</Visible>
<Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
</Style>
<Position>RightCenter</Position>
</Legend>
<CategoryAxis>
<Axis>
<Title />
<MajorGridLines>
<Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
</Style>
</MajorGridLines>
<MinorGridLines>
<Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
</Style>
</MinorGridLines>
<MajorTickMarks>Outside</MajorTickMarks>
<Min>0</Min>
<Visible>true</Visible>
</Axis>
</CategoryAxis>
<DataSetName>Flashelf_Demo_Report_ReportDataInfos</DataSetName>
<PlotArea>
<Style>
<BackgroundColor>LightGrey</BackgroundColor>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
</Style>
</PlotArea>
<ThreeDProperties>
<Enabled>true</Enabled>
<ProjectionMode>Orthographic</ProjectionMode>
<Rotation>30</Rotation>
<Inclination>30</Inclination>
<Shading>Simple</Shading>
<WallThickness>50</WallThickness>
</ThreeDProperties>
<PointWidth>0</PointWidth>
<SeriesGroupings>
<SeriesGrouping>
<DynamicSeries>
<Grouping Name="chart1_SeriesGroup1">
<GroupExpressions>
<GroupExpression>=Fields!Year.Value</GroupExpression>
</GroupExpressions>
</Grouping>
<Label>=Fields!Year.Value</Label>
</DynamicSeries>
</SeriesGrouping>
</SeriesGroupings>
<Top>1.5cm</Top>
<Subtype>Plain</Subtype>
<ValueAxis>
<Axis>
<Title />
<MajorGridLines>
<ShowGridLines>true</ShowGridLines>
<Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
</Style>
</MajorGridLines>
<MinorGridLines>
<Style>
<BorderStyle>
<Default>Solid</Default>
</BorderStyle>
</Style>
</MinorGridLines>
<MajorTickMarks>Outside</MajorTickMarks>
<Min>0</Min>
<Margin>true</Margin>
<Visible>true</Visible>
<Scalar>true</Scalar>
</Axis>
</ValueAxis>
<Type>Column</Type>
<Width>12.75cm</Width>
<CategoryGroupings>
<CategoryGrouping>
<DynamicCategories>
<Grouping Name="chart1_CategoryGroup1">
<GroupExpressions>
<GroupExpression>=Fields!Quarter.Value</GroupExpression>
</GroupExpressions>
</Grouping>
<Label>=Fields!Quarter.Value</Label>
</DynamicCategories>
</CategoryGrouping>
</CategoryGroupings>
<Palette>Default</Palette>
<ChartData>
<ChartSeries>
<DataPoints>
<DataPoint>
<DataValues>
<DataValue>
<Value>=Fields!Money.Value</Value>
</DataValue>
</DataValues>
<DataLabel>
<Style>
<Format>N2</Format>
</Style>
</DataLabel>
<Style />
<Marker>
<Size>6pt</Size>
</Marker>
</DataPoint>
</DataPoints>
</ChartSeries>
</ChartData>
<Style>
<BackgroundColor>White</BackgroundColor>
<FontFamily>宋体</FontFamily>
</Style>
<Title />
<Height>7.61905cm</Height>
<Left>1.25cm</Left>
</Chart>
</ReportItems>
<Height>10.86905cm</Height>
</Body>
<Language>zh-CN</Language>
<TopMargin>2.5cm</TopMargin>
<PageHeight>29.7cm</PageHeight>
</Report>

xhan2000 2008-06-26
  • 打赏
  • 举报
回复
好多年没碰水晶了,帮你顶

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧