报表打印 谢谢

wrost 2006-07-06 03:32:27
我用条码枪扫描一个条码,然后从数据库取一条记录,然后生成一个报表。 怎么让报表生成好后,自动打印

谢谢

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using mima;
using System.IO.Ports;

namespace CrystalReportsApplication1
{

public partial class Form1 : Form
{
private string FlagComm;
RPPolo RPPolo1;
RPSantana RPSantana1;

public Form1()
{
InitializeComponent();

CryReportView.ReportSource = null;
RPPolo1 = new RPPolo();
RPSantana1 = new RPSantana();
FlagComm = "0";

}


/// <summary>
/// 初始化
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Form1_Load(object sender, EventArgs e)
{
serialPort1.Open();
Form1.CheckForIllegalCrossThreadCalls = false;
}

/// <summary>
/// 获得sql语句
/// </summary>
/// <param name="StrSqlWhere">扫描到的条码</param>
/// <returns></returns>
private string GetSql(string StrSqlWhere)
{
string StrSql,StrTableName;
StrTableName = string.Empty;
StrSql = string.Empty;
switch (comboBox1.SelectedIndex)
{
case 1: StrTableName = "Data_VW3SPKDA"; break;
case 2: StrTableName = "Data_VW4SPKDA"; break;
case 3: StrTableName = "Data_FOCD34DA"; break;
case 4: StrTableName = "Data_VWSGM18DA"; break;
}
StrSql = "select * from " + StrTableName + " where ModuleBC = '" + StrSqlWhere + "'";
return StrSql;
}

/// <summary>
/// 返回需要查询的表
/// </summary>
/// <returns></returns>
private string GetTable()
{
string StrTableName = string.Empty;
switch (comboBox1.SelectedIndex)
{
case 1: StrTableName = "Data_VW3SPKDA"; break;
case 2: StrTableName = "Data_VW4SPKDA"; break;
case 3: StrTableName = "Data_FOCD34DA"; break;
case 4: StrTableName = "Data_VWSGM18DA"; break;
}
return StrTableName;

}

/// <summary>
/// 打印报表,根据CheckBox决定是否要打印
/// </summary>
/// <param name="BC"></param>
private void Print(string BC)
{

mima.DataBase DB = new DataBase();
DataSet DS = new DataSet();
string StrSql,StrTableName;

//if (comboBox1.SelectedIndex == 0)
//{
// textBox1.Text = "before";
// return;
//}
////textBox1.Text = "after";


StrTableName = GetTable();
StrSql = GetSql(BC);
DS = DB.RunProc(StrSql, DS, StrTableName);


switch (comboBox1.SelectedIndex)
{
case 1:
{
RPSantana1.SetDataSource(DS);
CryReportView.ReportSource = RPSantana1;
}; break;
case 2:
{
RPPolo1.SetDataSource(DS);
CryReportView.ReportSource = RPPolo1;
}; break;
//case 3: StrTableName = Data_FOCD34DA; break;
//case 4: StrTableName = Data_VWSGM18DA; break;
}


//CryReportView.DataBindings();


}

private void BtnSearch_Click(object sender, EventArgs e)
{

}

/// <summary>
/// 串口获取事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
string str = serialPort1.ReadLine();
textBox1.Text = str.Replace("\r","");
if (str != "")
{
FlagComm = "1";
}

}

private void timer1_Tick(object sender, EventArgs e)
{
if (FlagComm == "1")
{
FlagComm = "0";
Print(textBox1.Text);
}

}

}
}
...全文
206 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wrost 2006-07-06
  • 打赏
  • 举报
回复
还有就是,纸张要设置吗,在什么地方设置
wrost 2006-07-06
  • 打赏
  • 举报
回复
第一次做,请多多指教
wrost 2006-07-06
  • 打赏
  • 举报
回复
2005 自带水晶报表
【好消息】 客户端为DHTML浏览方式的例子已经可以推出,敬请访问:http://www.soft2web.biz/WebReport/basicreport.asp,同时推出繁体中文版与英文版,届时欢迎本公司网站下载试用!http://www.soft2web.biz/WebReport/reportdownload.asp 【重要提示】 如果您是第一次试用该软件,请您在下载安装后先运行在线注册。如果由于其他原因,您无法注册成功,请先注册网站会员,并用安装组中的客户号工具生成客户号并发给我们,信中附带上您的会员账号,我们会尽快发给您license,谢谢您的合作与支持! Ming-WebReport是深圳明宇科技有限公司研发的,功能强大且简单易用的专业Web报表开发工具。很好地解决了B/S架构软件中报表制作及预览、打印等难题,用它能轻松地完成复杂而美观的Web报表的制作、打印(包括套打),并能存取、分析、分享数据,以及转换、分发、管理报表,与国外同类报表工具相比,具有极高的性价比,而且更好地解决了中国式报表问题,是真正适合中国软件开发者的Web报表工具! ??Ming-WebReport可以将报表紧密集成到ASP、.NET、J2EE等应用中,很好地做到了报表设计与应用程序开发的分离;支持多种类型数据源,包括:表、SQL、存储过程、XML,并支持ACCESS、SQL Server、Oracle、DB2、Sybase等多种数据库;可以运行于多种操作系统Windows、Unix、Linux以及多种Web平台,提供简繁体中文、英文等多个语种的版本,是一套完整的Web报表解决方案。 Ming-WebReport包括三个部分,Report Designer(报表设计器),用于设计制作报表;Report Engine(报表引擎),用于服务器端处理报表;Report Browser(报表浏览器),用于客户端浏览报表。 在这里有大量精美的典型报表和行业应用报表示例供您观赏,敬请访问:http://www.soft2web.com/webreport/index.htm
=============================== 特别公告,作者的邮箱更改为: borlandsoft@sina.com =============================== SReport For D6 来了 =================== 应该说SReport在好多网友特别是在写数据库管理程序(进销存,财务,客户管理等)的网友中还是很受欢迎的。好多的朋友都在找For Delphi6的版本。但是很抱歉一直没有。现在我抽时间做了出来,以解大家之急。 有三点要说明: 一、下载的文件中SReport.hlp(SReport.rtf)是详细的帮助文档。 其它相关的文档在Documents目录中。 二、有关例程这次就不发布了,请参见CSDN中的For D5中的Demo。 其下载地点在Csdn的软件栏中的首页就有链接。(http://www.csdn.net/cnshare/soft/7/7408.shtm) 三、感谢CSDN(是个好地方)和上面的兄弟们。 谢谢大家的支持。 SReport 是谁? ============= 一个是将(商务管理软件)开发人员的报表设计工作量降为零,同时为最终用户提供“简单易用(这很重要)”、“功能强大”、“灵活方便”的报表自定义途径的Delphi Vcl。 SReport 能做什么? ================= (一)自定义页面、边距、字体; (二)自定义标题和页眉页脚; (三)在表头尾可以打印任何相关数据主表中的数据和自定义标签。 (四)可以定义明细数据中要打印的字段、标题、宽度、对齐方式、字体。 (五)可以定义明细数据是否页计、是否累计、是否总计、大写字段; (六)实现针打中的卷纸打印-打多少内容,走多少纸。 (七)直接生成文本文件、EXCEL格式文件、HTML网页格式文件。 (八)用户可以自己定义是否要打印报表顶端的单位信息标志。 (九)支持同一报表多格式并存,按用户的选择输出不同的报表。 (十)按任意字段分组打印并可对分组打印的相关选项进行设置。 如:按什么字段进行分组(需要软件设计者提供的数据源是按这个字段排序的); 每组打印完毕是否换页; 组间间距是多少; 换组后序号是否重排; 在报表的最后是否打印总合计。 (十一)在报表最尾打印用户自定义的信息,并可以保存这些信息。 SReport 是如何工作的? ===================== 提供需要打印的数据集名称并保证它处于打开状态。其它一切问题就由控件自己搞定(单表、主从结构、多主一从构,自定义结构)。

4,819

社区成员

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

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