十万火急,水晶报表打印,高分求救 (在线等-答即给分) 属性 showprintbutton 为true 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 属性size 那一行以上的 那些属性最好都设成true其他的很简单了你因该知道的,建个水晶报表,绑定到数据集,crystalreportview的数据原设成水晶报表就搞定了,很简单 按钮实现打印也可以啊,那要新建个数据集文件即 .xsd 到你项目中xsd中就是你要查询的字段(要自己编辑),->>加水晶报表,将你建好的xsd中的字段拖到你的水晶报表中.在 print_click() 中生成一个新的xsd的实例 ,并用一个sql来填充生成一个水晶报表的实例,将其的datasource设成你的生成的dataset然后在你的项目的一级目录下建个temp目录代码见下:L_ErrMsg.Text = ""; try { string sql="select a.InWareCD,to_char(ComeTime,'yyyy-mm-dd') ComeTime,SendBillCD,c.OperatorNM,(select OperatorNM from t_base_operator where OperatorCD=a.Assessor) AssessorNM,RowNum,AdCode,PartCD,PartNM,Specification,Measure,Quantity,UnitPrice,Quantity*UnitPrice Money,b.Note" +" from T_Part_InWare a,T_Part_InWareDT b,t_base_operator c" +" where a.InWareCD=b.InWareCD and a.OperatorCD=c.OperatorCD" +" and a.InWareCD='"+e.Item.Cells[0].Text+"' and a.SellNetCD='"+Session["Sess_LC_Netcode"].ToString()+"' "; //System.Data.OleDb.OleDbConnection conn=new System.Data.OleDb.OleDbConnection("PROVIDER=OraOLEDB.Oracle;DATA SOURCE=new;USER ID=fscrmsa;PASSWORD=s;PLSQLRSet=1"); //string ConnectionString=fscrm.include.db.ConnectionString; string ConnectionString="Provider=MSDAORA.1;Password=sa;User ID=lcdbsa;Data Source=lcdb"; System.Data.OleDb.OleDbConnection conn=new System.Data.OleDb.OleDbConnection(ConnectionString); Lc_System.P_Form.P_Report.Part_InWareRpt oRpt=new Lc_System.P_Form.P_Report.Part_InWareRpt(); System.Data.OleDb.OleDbDataAdapter comm=new System.Data.OleDb.OleDbDataAdapter(sql,conn); DataSet ds = new DataSet(); comm.Fill(ds,"table"); oRpt.SetDataSource(ds.Tables["table"]); //给制单文本框赋值 TextObject T_Maker=oRpt.ReportDefinition.ReportObjects["Text75"] as TextObject; T_Maker.Text=db.OtherValue("OperatorNM","T_Base_Operator","OperatorCD",Session["Sess_LC_UID"].ToString()); T_Maker.Width=900; ExportOptions crExportOptions=new ExportOptions(); DiskFileDestinationOptions crDiskFileDestinationOptions = new DiskFileDestinationOptions(); string path=Request.ServerVariables["APPL_PHYSICAL_PATH"]; path=path.Replace("\\","\\\\"); string Fname1="lanyou"+System.DateTime.Now.Year+System.DateTime.Now.Month+System.DateTime.Now.Day+ System.DateTime.Now.Hour+System.DateTime.Now.Minute+System.DateTime.Now.Second+System.DateTime.Now.Millisecond+".pdf"; string Fname=path+"temp\\"+Fname1; crDiskFileDestinationOptions.DiskFileName = Fname; oRpt.ExportOptions.DestinationOptions=crDiskFileDestinationOptions; oRpt.ExportOptions.ExportDestinationType=ExportDestinationType.DiskFile; oRpt.ExportOptions.ExportFormatType=ExportFormatType.PortableDocFormat; oRpt.Export(); string aa="window.open('/Lc_System/temp/"+Fname1+"')"; Response.Write("<script language='JavaScript'>"+"\n"); Response.Write(aa); Response.Write("</script>"+"\n"); } catch{return;}上面是我的一个工程的打印代码,你可以参考实现这种打印还有个要求就是你的机子上要有AdoCRAT 读书器 我开发的是WEB FORM的程序现在的问题是在WEB FORM下的 CRYSTALREPORTVIEW 没有ShowPrintButton属性只有WIN FROM下才有看来我只有自己做个按钮了 那位有现成的代码 高分收购楼上的代码太高深我没研究明白 ???救命牙很急的 新人求助 学习了半年的C# 感觉不给力啊 C#截取多个括号里面的数字放入数组里 WEB远程连接服务器报错! 有关url重写问题,高手帮忙 网站调用webservice的问题?急!!! 用c#怎么样本地机的时间 同步? winform 的 radiobutton 怎么绑定 bool值 [急!]在webform中怎样把treeview存入xml文件[up有分] 请教windows后台服务的问题。 C#的TCPClient如何连接代理服务器?(在线等) 讨厌的问题,答对立即给分! [简单问题醒目]如何获取在datagrid中的模版列中的其他web控件的值。[简单问题醒目]
其他的很简单了你因该知道的,建个水晶报表,绑定到数据集,crystalreportview
的数据原设成水晶报表就搞定了,很简单
xsd中就是你要查询的字段(要自己编辑),->>加水晶报表,将你建好的xsd中的字段拖到你的水晶报表中.在 print_click() 中生成一个新的xsd的实例 ,并用一个sql来填充
生成一个水晶报表的实例,将其的datasource设成你的生成的dataset
然后在你的项目的一级目录下建个temp目录
代码见下:L_ErrMsg.Text = ""; try
{
string sql="select a.InWareCD,to_char(ComeTime,'yyyy-mm-dd') ComeTime,SendBillCD,c.OperatorNM,(select OperatorNM from t_base_operator where OperatorCD=a.Assessor) AssessorNM,RowNum,AdCode,PartCD,PartNM,Specification,Measure,Quantity,UnitPrice,Quantity*UnitPrice Money,b.Note"
+" from T_Part_InWare a,T_Part_InWareDT b,t_base_operator c"
+" where a.InWareCD=b.InWareCD and a.OperatorCD=c.OperatorCD"
+" and a.InWareCD='"+e.Item.Cells[0].Text+"' and a.SellNetCD='"+Session["Sess_LC_Netcode"].ToString()+"' ";
//System.Data.OleDb.OleDbConnection conn=new System.Data.OleDb.OleDbConnection("PROVIDER=OraOLEDB.Oracle;DATA SOURCE=new;USER ID=fscrmsa;PASSWORD=s;PLSQLRSet=1");
//string ConnectionString=fscrm.include.db.ConnectionString;
string ConnectionString="Provider=MSDAORA.1;Password=sa;User ID=lcdbsa;Data Source=lcdb";
System.Data.OleDb.OleDbConnection conn=new System.Data.OleDb.OleDbConnection(ConnectionString);
Lc_System.P_Form.P_Report.Part_InWareRpt oRpt=new Lc_System.P_Form.P_Report.Part_InWareRpt(); System.Data.OleDb.OleDbDataAdapter comm=new System.Data.OleDb.OleDbDataAdapter(sql,conn);
DataSet ds = new DataSet();
comm.Fill(ds,"table");
oRpt.SetDataSource(ds.Tables["table"]);
//给制单文本框赋值
TextObject T_Maker=oRpt.ReportDefinition.ReportObjects["Text75"] as TextObject;
T_Maker.Text=db.OtherValue("OperatorNM","T_Base_Operator","OperatorCD",Session["Sess_LC_UID"].ToString());
T_Maker.Width=900; ExportOptions crExportOptions=new ExportOptions();
DiskFileDestinationOptions crDiskFileDestinationOptions = new DiskFileDestinationOptions();
string path=Request.ServerVariables["APPL_PHYSICAL_PATH"];
path=path.Replace("\\","\\\\");
string Fname1="lanyou"+System.DateTime.Now.Year+System.DateTime.Now.Month+System.DateTime.Now.Day+
System.DateTime.Now.Hour+System.DateTime.Now.Minute+System.DateTime.Now.Second+System.DateTime.Now.Millisecond+".pdf";
string Fname=path+"temp\\"+Fname1; crDiskFileDestinationOptions.DiskFileName = Fname;
oRpt.ExportOptions.DestinationOptions=crDiskFileDestinationOptions;
oRpt.ExportOptions.ExportDestinationType=ExportDestinationType.DiskFile;
oRpt.ExportOptions.ExportFormatType=ExportFormatType.PortableDocFormat;
oRpt.Export(); string aa="window.open('/Lc_System/temp/"+Fname1+"')";
Response.Write("<script language='JavaScript'>"+"\n");
Response.Write(aa);
Response.Write("</script>"+"\n");
}
catch{return;}上面是我的一个工程的打印代码,你可以参考
实现这种打印还有个要求就是你的机子上要有AdoCRAT 读书器
现在的问题是在WEB FORM下的 CRYSTALREPORTVIEW 没有ShowPrintButton属性
只有WIN FROM下才有
看来我只有自己做个按钮了
那位有现成的代码 高分收购
楼上的代码太高深我没研究明白 ???救命牙很急的