导航:首页 > 源码编译 > reportviewer源码

reportviewer源码

发布时间:2022-05-01 07:16:13

A. C# reportViewer动态绑定

this.ReportViewer1.Visible = true;
//这里是放参数,报表的参数,没有就不要这些

ReportParameter[] reportparams = new ReportParameter[2];
reportparams[0] = new ReportParameter("areaid", ucQueryCondition1.GetAreaId()); 这里是放参数,报表的参数,没有就不要这些
reportparams[1] = new ReportParameter("noteid", ucQueryCondition1.GetNoteId());
this.ReportViewer1.ServerReport.SetParameters(reportparams);
然后给报表控件+ reportpath就可以了

B. C# Winform满分求源码示例[EXCEL模版套版打印],带预览。

虽然您明说了不要第三方控件,但还是要忍不住向您推荐一个!
名叫Grid++Report,支持多种编程语言!支持Web、WinForm!例子代码基本直接复制就用!现在的版本是5.8,打印只是预览时才有免费水印,不影响打印。

PS:用了她3年,就当为她做个广告!

另外,对于Excel,公司协议不能直接给您上代码,但编程经验可以分享下:
通过在Excel中定义操作参数,例如"@@cName"表示“单据头某单元格的值”应该替换为表头上"cName"列的值!$$HeadBegin、$$RowBegin表示单据头、单据体的开始区域等,这样的Excel套打也不难做。

C. 水晶报表的参数传递

你这样试一下:
ParameterField Field = new ParameterField();
ParameterFields fields = new ParameterFields();
ParameterDiscreteValue Value = new ParameterDiscreteValue();
ParameterValues paramValues = new ParameterValues();
Value.Value = string.Format("{0:yyyy-MM-dd}", dtStarTime.Value) + "至" + string.Format("{0:yyyy-MM-dd}", dtEndTime.Value);
paramValues.Add(Value);
Field.ParameterFieldName = "StarEndTime";
Field.CurrentValues = paramValues;
Fields.Add(Field);
crystalReportViewer1.ParameterFieldInfo = fields;

下面是我的源码
ParameterField paramField = new ParameterField();
ParameterFields paramFields = new ParameterFields();
ParameterValues paramValues = new ParameterValues();
ParameterDiscreteValue discreteValue = new ParameterDiscreteValue();

discreteValue.Value = "333";
paramValues.Add(discreteValue);
paramField.ParameterFieldName = "cs";
paramField.CurrentValues = paramValues;
paramFields.Add(paramField);
paramField.AllowCustomValues = false;
crystalReportViewer1.ParameterFieldInfo = paramFields;

D. C# winform水晶报表调存储过程和传参例子

第一步:添加一个dataset组件,然后拖放一个dataadpter,根据提示选择现有存储过程,保存
第二布:新建一个水晶报表文件,根据报表向导创建选择显示的字段和布局(注意:选择ado.net下的数据集)
第三布:将工程文件夹下有一个xxx.rpt的文件,复制其路径,
第四步:加载xxx.rpt文件,如下形式:
ReportDocument report = new ReportDocument();//创建文档对象
report.Load(path);//加载报表->path是rpt文件的路径
SqlConnection connection = new SqlConnection(ApplicationAssist.ConnectionString)
connection.Open();
DataSet ds= new DataSet();
SqlDataAdapter sqlDA = new SqlDataAdapter();
//调用存储过程获得数据集
SqlCommand command = new SqlCommand(storedProcName, connection);
command.CommandType = CommandType.StoredProcere;
command.Parameters.AddRange(parameters);--这个是存储过程的参数赋值,网上有
sqlDA.Fill(ds, "tableName");

connection.Close();
report.SetDataSource(ds.Tables[0]);//设置报表的数据源->ds是你在程序中查询出来的dataset集合,注意这里的存储过程要与你的报表所指定的过程对应哦!
if (ht != null)--这里是外部参数赋值,按需要而定,跟数据库字段无关
{
foreach (DictionaryEntry de in ht)
{
report.SetParameterValue(de.Key.ToString(), de.Value);
}
}

CRV.ReportSource = report;//显示报表

E. 如何向WebForm下的ReportViewer传递身份凭证

上回说到WebForm下的ReportViewer控件不能直接传入身份凭证,因为其ServerReport.ReportServerCredentials.NetworkCredentials属性是只读的。
在骚扰了N个.NET MVP后,终于知道有一个接口叫IReportServerCredentials,诶,我怎么把这茬忘了呢。报表服务中定制化身份验证方式的就靠它了。
既然是接口,那么我们就要先利用这个接口创建一个类,然后类中实现这个接口的成员。IReportServerCredentials接口主要是两个成员属性(ImpersonateUser和NetworkCredentials)和一个成员方法(GetFormCredentials)。
ImpersonateUser在我们这儿没什么多大用处,哈,所以直接return null。NetworkCredentials就是我们需要返回的,所以return new NetworkCredential(_username, _password, _domain)。
那么_username、_password、_domain哪儿来的呢,类里面放三个Private的变量,然后通过类的初始化方法传进去就行了啊。
这样就搞定了阿。下面是类的源代码和调用类的源代码:
/********************************************************************************
MyReportViewerCredential类
********************************************************************************/
using System;
using System.Net;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.Reporting.WebForms;
using System.Web.SessionState;
using System.Security.Principal;
public class ReportViewerCredentials
{
public class MyReportViewerCredential : IReportServerCredentials
{
private string _username;
private string _password;
private string _domain;
public Uri ReportServerUrl;
public MyReportViewerCredential(string username, string password, string domain)
{
_username = username;
_password = password;
_domain = domain;
}
public WindowsIdentity ImpersonationUser
{
get
{
return null;
}
}

public System.Net.ICredentials NetworkCredentials
{
get
{
return new NetworkCredential(_username, _password, _domain);
}
}

public bool GetFormsCredentials(out Cookie authCookie,
out string user, out string password, out string authority)
{
authCookie = null;
user = _username;
password = _password;
authority = _domain;
return false;
}
}
}
/********************************************************************************
调用MyReportViewerCredential类
********************************************************************************/
protected void TreeViewNavigator_SelectedNodeChanged(object sender, EventArgs e)
{
ReportViewerCredentials.MyReportViewerCredential rvc = new ReportViewerCredentials.MyReportViewerCredential
(Session["UserName"].ToString(), Session["Password"].ToString(), Session["Domain"].ToString());
ReportViewerMain.ServerReport.ReportServerCredentials = rvc;
ReportViewerMain.ServerReport.ReportPath = TreeViewNavigator.SelectedNode.Value.ToString();
}

F. activereports主从表显示(手动绑定数据)c#程序源码

在报表中,有许多报表是主从表结构,比如订单与订单商品明细,订单是一个表中的一条记录,而分录是另一个表
中的多条记录,两个表通过一个字段关联起来,这种报表可利用其分组功能实现,
1. 新建一个工程
2. 往FORM1中添加一个CrystalReportViewer控件
3. 在服务噐资源管理器中连接到SQL SERVER 2000上的Northwind数据库
4. 添加一个数据集Dataset1,将服务器资源管理器中的Orders和 Order Details加入到数据集中。
5. 添加一个水晶报表,使用报表专家,在项目数据中选择“ADO.NET数据集”,插入表Orders和 Order
Details,“链接”中是关联字段的链接,在“字段”中选择要显示的主表和明细表的字段,组中选择分组依据为
Orders表OrdersID字段,总计,图表,选择(可进行筛选),样式(可设置报表标题),可自行设置。设置完后,
点击完成。
6. 在报表设计器中调整需要显示的字段的位置、宽度等。
7. 在窗口中添加代码。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
Dim oRpt As New CrystalReport1()
Dim dsdataSet As New Dataset1()
Dim CN As New Data.SqlClient.SqlConnection("data source=PMSERVER;initial
catalog=Northwind;user id=sa;password=sa")
CN.Open()
Dim daOrders As New Data.SqlClient.SqlDataAdapter("select * from orders", CN)
daOrders.Fill(dsdataSet, "orders")
Dim daDetails As New Data.SqlClient.SqlDataAdapter("select * from [Order Details]", CN)
daDetails.Fill(dsdataSet, "Order Details")
'使用“报表引擎”对象模型将填充的数据集,传递给报表
oRpt.SetDataSource(dsdataSet)
CrystalReportViewer1.ReportSource = oRpt
End Sub
形如上述情况,在查询语句中加上条件orderID='....',查出来是不会出现多页的,即使不加上条件也不会出现 上述描述的那样。

G. 下面的C#代码使用了gridview控件,为什么单击编辑数据要 单击两次,为什么单击更新数据之后页面任然处于编

我不当好人;只求你的分数;
1.如何让我单击编辑按钮时,文本框里面有数据,而不是想图中那样,单击编辑 后什么都要自己重新写入(主要是想知道在gridview的那个事件中写代码)
答:要想某行点击编辑之后文本框默认出现数据,必须在GirdView添加行绑定模板如:
<columns <asp:TemplateColumn >
<EditItemTemplate >
<asp:TextBox ID="txtName" runat ="server" Text ='<%#Eval("字段名称") % >'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>></columns>
而不是就一个单纯的GridView
2.为什么在页面上要单击编辑两次后才能进入编辑状态。
你使用了 AutoGenerateEditButton="True" 自带的编辑按钮,它的机制是相当于一个服务器控件,要起到回发的作用,解决的办法就是在isposback底下写上你的代码 或者你不要用AutoGenerateEditButton="True" 直接在gridview里面有一个编辑行的事件底下写代码也可以;不会出现点两次
具体代码:
GridView1.EditItemIndex = e.newindex; //此处e.newindex 这个e.后面是需要的行索引,具体单词忘记写了,你可以点出来看得到跟new有关的一个单词
string tablename = "EmpPurse1";
DataSet data = new DataSet();
mysqlclass EmpPurse = new mysqlclass

(tablename);
data = EmpPurse.GetTable();
GridView1.DataSource = data.Tables

["t1"];
GridView1.DataBind();

3.为什么编辑后单击更新,虽然处理了数据,但页面还是处于编辑状态。
你在最后写完更新代码之后也要加上
GridView1.EditIndex = -1;
string tablename = "EmpPurse1";
DataSet data = new DataSet();
mysqlclass EmpPurse = new mysqlclass

(tablename);
data = EmpPurse.GetTable();
GridView1.DataSource = data.Tables

["t1"];
GridView1.DataBind();

祝你成功!

H. C# ReportViewer 报表问题

在源代码上this.ReportViewer1. 看看点的时候,补助下拉列表中有没有这个方法,或许你的版本更新,reset那个被取消了。

I. CrystalReportViewer按钮图片为什么不显示

有两种可能:
1、检查辖图片所指向的路径,如果指向的图片路径在IIS中没有的. 那么将安装的crystal图片路径设置为相应的IIS指向路径.
2、是不是你的水晶报表没有注册呢,没有的话,就注册下

J. VS2008调用水晶报表服务器

右键点击项目-》添加-》组件-》类别 选择Reporting -》模板 选择Crystal报表 点添加 就生成了一个WEB页面的水晶报表 水晶报表功能强大,能满足任何报表要求,具体操作有很多,如果不明白可以去CSDN论坛提问,或者到.net图表区,那里面基本上是关于Crystal Report的内容 。其中有个叫阿泰的给我映像比较深刻。

阅读全文

与reportviewer源码相关的资料

热点内容
扫地机怎么安装app 浏览:317
考研结合特征值计算法 浏览:514
操作系统算法综合题 浏览:150
华为程序员待遇 浏览:545
程序员带娃的图片 浏览:77
迷你云服务器怎么下载 浏览:813
福州溯源码即食燕窝 浏览:232
当乐服务器怎么样 浏览:713
nc编程软件下载 浏览:382
如何限制手机app的使用 浏览:307
安卓华为手机怎么恢复桌面图标 浏览:956
我的世界电脑版服务器地址在哪找 浏览:533
违抗了命令 浏览:256
安卓如何实现拖拽放置 浏览:91
净资产收益率选股指标源码 浏览:599
血压力传感器计算公式单片机 浏览:466
全网接口vip影视解析源码 浏览:916
如何破解服务器远程密码错误 浏览:377
平安深圳app如何实名认证 浏览:500
linux网络监控软件 浏览:889