rdlc自带报表设计、部署

using Founder.BLL;
using Founder.Common;
using Founder.Model;
using System;
using System.Data;
using System.Windows.Forms;

namespace Founder.SndBus.CountingSys
{
public partial class FrmLogin : DevComponents.DotNetBar.Office2007Form //Form
{
/// <summary>
/// 收银点钞权限
/// </summary>
static readonly string SY_AUTHORITY_ID = System.Configuration.ConfigurationManager.AppSettings["SY_AUTHORITY_ID"];
/// <summary>
/// 系统名称
/// </summary>
static readonly string SYS_NAME = System.Configuration.ConfigurationManager.AppSettings["SysName"];

/// <summary>
/// 用户权限ID为空
/// </summary>
const string SY_AUTHORITY_ID_NULL = "用户权限ID为空,请联系系统管理员";

private String[] arrLoginResult = { "用户登录成功", "用户不存在", "用户名或密码不正确", "用户没有权限" };
HrStaffBLL hrStaffbll = new HrStaffBLL();

public FrmLogin()
{
InitializeComponent();
this.MaximizeBox = false;
this.StartPosition = FormStartPosition.CenterScreen;
this.ActiveControl = this.txtName;
this.Text = "用户登录";
if (string.IsNullOrEmpty(SY_AUTHORITY_ID))
{
MessageBox.Show(SY_AUTHORITY_ID_NULL, "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}

//test value
//this.txtName.Text = "100000";
//this.txtPwd.Text = "1";
}

private void btnLogin_Click(object sender, EventArgs e)
{
if (String.IsNullOrEmpty(this.txtName.Text.Trim()) || String.IsNullOrEmpty(this.txtPwd.Text.Trim()))
{
//using (var ctx = new OracleDbContext())
//{
// var test = new T_TEST { NAME = "1",VALUE="2" };
// ctx.T_TEST.Add(test);
// ctx.SaveChanges();
//}

//Founder.DAL.SndBusDaoFactory sndFac = new DAL.SndBusDaoFactory();
//Founder.DAL.CASH_COINCENTERDao ccDao = sndFac.GetCASH_COINCENTERDao();
//Founder.Model.CASH_COINCENTER cc = new Founder.Model.CASH_COINCENTER();
//cc.ID="1";
//cc.COINCODE="2";
//cc.BUSNO="3";
//cc.FSDATE="4";

//ccDao.Save(cc);

MessageBox.Show("用户名或密码不能为空");
return;
}

SysUserBLL userBLL = new SysUserBLL();
var ires = userBLL.IsLogin(this.txtName.Text.Trim(), this.txtPwd.Text.Trim(), SY_AUTHORITY_ID);
if (ires == 0)
{
GlobalValue.JobNumber = this.txtName.Text.Trim();
HrStaff hr = hrStaffbll.GetUserInfoByJb(this.txtName.Text.Trim());
GlobalValue.UserName = hr.USERNAME;
this.DialogResult = DialogResult.Yes;
}
else
{
MessageBox.Show(arrLoginResult[ires], "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}

}

private void FrmLogin_FormClosing(object sender, FormClosingEventArgs e)
{
//this.DialogResult = DialogResult.No;
}

private void txtName_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
this.txtPwd.Focus();
}
}

private void txtPwd_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
this.btnLogin.Focus();
}
}

private void button1_Click(object sender, EventArgs e)
{
var sql = "select username from sys_user where ison=:ison";
var para = new { ISON = 1 };
using (IDataReader rd = DapperHelper.ExecuteReader(sql, para))
{
try
{
if (rd.Read())
{
var name = rd["username"].ToString();
rd.Dispose();
rd.Close();
MessageBox.Show(name);
}
}
catch (Exception)
{

throw;
}
}
}
}
}

部署要点:

该目录是微软操作系统预定义的特殊目录,无法直接操作里面的文件,只能通过命令来处理。

启动cmd.exe程序,在窗口中输入以下命令行,每次输入一个命令,回车后复制成功。

copy C:\Windows\assembly\gac_msil\Microsoft.ReportViewer.Common\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.Common.dll D:\ReportViewer

copy C:\Windows\assembly\gac_msil\Microsoft.ReportViewer.WinForms\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.WinForms.DLL D:\ReportViewer

copy C:\Windows\assembly\gac_msil\Microsoft.ReportViewer.ProcessingObjectModel\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.ProcessingObjectModel.DLL D:\ReportViewer

copy C:\WINDOWS\assembly\GAC_MSIL\Microsoft.SqlServer.Types\11.0.0.0__89845dcd8080cc91\Microsoft.SqlServer.Types.dll D:\ReportViewer

【其他的dll复制方式与此类似】

复制到D盘ReportViewer目录后,将其复制到项目的bin\Debug目录,再次运行程序,一切正常。

时间: 2024-11-06 03:47:26

rdlc自带报表设计、部署的相关文章

VS2013自带报表+打印功能

经过了VB版机房收费系统的学习,相信现在说起报表,我们已经不再觉得陌生.VB打印报表的功能是通过引用第三方控件来实现的,而相对的VS就在VB的基础上完善了这一功能,VS自带报表控件和打印功能,这样就给我们这些编程者带来了很大的方便.下面就将我做程序的一些小经历来跟大家一起分享一下. 1,我们右击U层所在文件夹添加"新建项". 2,在弹出的的添加新建项窗口中找到"reporting",在右面的内容窗口中选中"报表"选项,设置报表的名称. 3,点击确

微软BI 之SSRS 系列 - 实现 Excel 中图表结合的报表设计

来自群里面讨论的一个问题,EXCEL 中有类似于这样的图形,上面是 Chart, Chart X轴上的值正好就是下方 Table 的列头,这个在 SSRS 中应该如何实现? SSRS 2008.2008RS,2012 中实际上没有这种对应的控件,我们通常想到的方式可能是上方一个单独的 Chart 图,下方一个 Table 然后合并在一起.但是这样会存在一些问题,因为 Chart 轴的值不是固定的,会随着聚合值的增加而扩展.并且对于表中的列头来说也没有办法完全能够和 Chart X 轴上的坐标对应

在线报表设计实战系列 – ①准备数据源

葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软件项目紧密集成,也可独立部署运行,支持多数据源,具有无编码.灵活.稳定等特性,可以帮您快速搭建专业的报表软件系统,实现各类报表的设计.管理.权限控制.数据填报.负载均衡及跨平台发布. 葡萄城报表自 v11.2 版本,隆重推出基于 HTML5 技术的在线报表设计器,从此报表设计工作跨进"在线"时代,那么在线设计器究竟该如何使用呢? 我们将推出<在线报表设计实战系列>,来帮助用户更好的了解和使用在线设计器.本文是

在线报表设计实战系列 – ②制作表格类报表

葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软件项目紧密集成,也可独立部署运行,支持多数据源,具有无编码.灵活.稳定等特性,可以帮您快速搭建专业的报表软件系统,实现各类报表的设计.管理.权限控制.数据填报.负载均衡及跨平台发布. 本文基于<在线报表设计实战系列>的第一篇文章--准备数据源(微信第二条),主要介绍表格类报表的设计方法和步骤. 1. 创建数据集 上一节介绍了数据源的定义.定义数据源的目的是确定从何处读取数据,具体读取什么数据,则由数据集的定义来确定. 点击系统管

报表设计

数据源管理 进入"平台管理"点击"数据源管理"则进入数据源管理列表,可添加.删除.修改.查看数据源. 名称:数据库的名称   数据库:支持Mysql.oracel.DB2.SQLServer.Sybase等数据库.   URL: 数据库连接地址.   用户名:数据库用户名.   密码:数据库密码.   初始化连接数:启动报表服务器时建立的数据库连接数,最小连接数默认为0, 取值应在最小连接数与最大连接数之间.   最大连接数:连接池中保留的最大连接数.   最大空闲

报表设计--主格设置-手工设置-示例

一.新建数据源 参照网格式报表设计 二.操作步骤 在B2单元格中填写=DS_EmpBaseInfo.group(OrgName)    设置为纵向扩展 在C2单元格中填写=DS_EmpBaseInfo.cernumber    C2的左主格设置为E2(左主格可以不在当前单元格的左边,需要手工设置) 在D2单元格中填写=DS_EmpBaseInfo.empname     D2的左主格设置为E2(左主格可以不在当前单元格的左边,需要手工设置) 在D3单元格中填写=ds_empbaseinfo.co

报表设计--分组报表-分组小计

一.新建数据源 参照网格式报表设计 二.操作步骤 在A2单元格中填写=ds.group(TYear),设置为纵向扩展,表示按年度分组 在A3单元格中填写=ds.group(TJd),设置为纵向扩展,表示按季度分组 在A5单元格中填写=ds.group(TMonth),设置为纵向扩展,表示按月度分组 在B3单元格中填写=ds.sum(Tmoney) 在B4单元格中填写=ds.sum(Tmoney) 三.报表计算预览效果图

报表引擎交叉表的报表设计示例

使用Delphi开发了一个报表引擎,以下是一个交叉表的示例: 报表引擎交叉表的报表设计示例

报表设计--分组报表-多层分组-横向扩展

一.新建数据源 参展网格式报表设计 二.操作步骤 在B2单元格中填写=ds.group(TYear),设置为横向扩展: 在B3单元格中填写=ds.group(tjd),设置为横向扩展: 在B4单元格中填写=ds.group(TMonth),设置为横向扩展: 在B5单元格中填写=ds.group(Tmoney) 三.报表计算后预览效果