如何在水晶报表的某一表项超链接到另一报表

bigboyxp 2007-08-03 04:40:56
应用场景是一报表统计出各种类型商品的数量,在数量值上有一超链接,点击后,显示该类型商品的明细报表,
这种能实现不?哪位大侠指点一二。
...全文
180 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhengjuzhuan 2007-08-04
  • 打赏
  • 举报
回复
using Microsoft.Reporting.WinForms;
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace zhishi.rdlc
{
/// <summary>
/// .net2005 rdlc报表的使用 2007-07-16
///
/// 主要是可以对报表进行打印功能比较不错,可以时候不规则文件的打印功能
/// </summary>
class rdlc
{
//报表查看控件
private ReportViewer ReportViewer1=new ReportViewer();
//数据原
private ReportDataSource dsReport = null;

/// <summary>
/// 显示报表
/// </summary>
private void Show()
{
//报表呈现的地址
ReportViewer1.LocalReport.ReportEmbeddedResource = "zhishi.rdlc.Report1.rdlc";
ReportViewer1.RefreshReport();
}

/// <summary>
/// 设置报表的数据原
/// </summary>
public void rdlcDataSource(DataSet ds)
{
//取消原来的报表
ReportViewer1.Reset();
//报表的数据愿名称
dsReport.Name = "rdlcDataSource";
//报表数据
dsReport.Value = ds.Tables["rdlcDataSource"];
//添加报表数据愿
ReportViewer1.LocalReport.DataSources.Add(dsReport);
}

/// <summary>
/// 设置报表参数
/// </summary>
public void SetReportParameter()
{
//Report_Parameter_0
ReportParameter[] parameters = new ReportParameter[3];
parameters[0] = new ReportParameter("Report_Parameter_1", "Report_Parameter_0_Value");
parameters[1] = new ReportParameter("Report_Parameter_2", "Report_Parameter_1_Value");
parameters[2] = new ReportParameter("Report_Parameter_3", "Report_Parameter_2_Value");
ReportViewer1.LocalReport.SetParameters(parameters);
}

//报表连接事件
//Report1.rdlc里面对应的时间处理
//报表处理器的Drillthrough事件
private void ReportViewer1_Drillthrough(object sender, DrillthroughEventArgs e)
{
//可以冲别的地方传入 这里没有数据
DataSet ds=new DataSet();
LocalReport localReport = (LocalReport)e.Report;
ReportParameterInfoCollection Parameter = localReport.GetParameters();
//以前报表传给新报表的参数Report_Parameter_01 Report_Parameter_11
//就是目前点击报表表格行的 X Y的值 他是重新导航到Report1.rdlc
string Report_Parameter_01 = Parameter["Report_Parameter_01"].Values[0].ToString();
string Report_Parameter_11 = Parameter["Report_Parameter_11"].Values[0].ToString();
if (Report_Parameter_01 == "" || Report_Parameter_11 == "")
{
//新报表呈现的数据愿
localReport.DataSources.Add(new ReportDataSource("rdlcDataSource", ds.Tables["rdlcDataSource"]));
}
}

}
}

//我使用不是水晶报表 但应该差不多的 你参考下
SassyBoy 2007-08-04
  • 打赏
  • 举报
回复
能~~

4,818

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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