阿泰大哥帮我看看-发布到服务器的水晶报表打印为什么访问到不局域网里的共享打印机
/// <summary> /// 打印机列表 /// </summary> /// <returns></returns> private ArrayList GetPrinter() { ArrayList array = new ArrayList(); foreach (string iprt in System.Drawing.Printing.PrinterSettings.InstalledPrinters) array.Add(iprt); return array; } ReportDocument doc = new ReportDocument(); doc.PrintOptions.PrinterName = ddl_printList.SelectedValue.ToString(); CrytalName = "../PrintManager/Connection.rpt"; doc.Load(Server.MapPath("" + CrytalName + "")); doc.SetDataSource(dsDataSet); doc.PrintToPrinter(1, false, 0, 0);
/// <summary>
/// 打印
/// </summary>
/// <param name="sender"> </param>
/// <param name="e"> </param>
protected void btnSurePrint_Click(object sender, EventArgs e)
{
string id = Request.QueryString["id"];//结论书id
string printId = string.Empty;
for (int i = 0; i < this.cblPrint.Items.Count; i++)
{
if (this.cblPrint.Items[i].Selected)
{
printId += this.cblPrint.Items[i].Value+",";
}
}
printId += printId.Substring(0, printId.LastIndexOf(','));//需要打印的id
#region 选择性打印
DB_Conclusion dsDataSet = new DB_Conclusion();
string con = ConfigurationManager.ConnectionStrings["dbconn"].ConnectionString;
using (SqlConnection objSqlConnection = new SqlConnection(con))
{
//结论书
string sql = "SELECT a.cId, a.cTotalNo, a.cTitle, a.cContent, a.cAddPeople, a.cDate, b.oName FROM Conclusion AS a INNER JOIN Office AS b ON a.cIdentificationUnit = b.oid and a.cid=" + id;
SqlDataAdapter sdaAdapter = new SqlDataAdapter(sql, objSqlConnection);
sdaAdapter.Fill(dsDataSet, "Conclusion");
sdaAdapter.Dispose();
//sdaAdapter.
//现场勘查表
string sql2 = "SELECT sId, sCid, sPeople, sDate, sPlace, sObject, sAcompany, sRemark, sIsregout FROM Scene where sCid=" + id;
SqlDataAdapter sdaAdapter2 = new SqlDataAdapter(sql2, objSqlConnection);
sdaAdapter2.Fill(dsDataSet, "Scene");
sdaAdapter2.Dispose();
//不予受理通知书
string sql7 = "SELECT Tem_Accept.content2, Tem_Accept.content1, Tem_Accept.content3, Tem_Accept.id,Conclusion.cTotalNo, Office.oName, Accept.aUnitId, "
+ "Accept.aGoods, Accept.aDate, Conclusion.cId, Conclusion.cIdentificationUnit FROM Office INNER JOIN Conclusion INNER JOIN Tem_Accept ON "
+ "Conclusion.cUnitId = Tem_Accept.unitid INNER JOIN Accept ON Conclusion.cId = Accept.aCid ON Office.oid = Conclusion.cIdentificationUnit "
+ "where Conclusion.Cid=" + id + " and Conclusion.cUnitId=" + user.Dept.Id;
SqlDataAdapter sdaAdapter7 = new SqlDataAdapter(sql7, objSqlConnection);
sdaAdapter7.Fill(dsDataSet, "Tem_Accept");
sdaAdapter7.Dispose();
//明细表1
string sql8 = "SELECT Conclusion.cDate, userinf.name, Office.oName, Conclusion.cAppNum, Money.mJdTotal "
+ "FROM Conclusion INNER JOIN "
+ " Office ON Conclusion.cIdentificationUnit = Office.oid INNER JOIN "
+ " userinf ON Conclusion.cAddPeople = userinf.id INNER JOIN "
+ " Money ON Conclusion.cId = Money.mcid and Conclusion .cid=" + id;
SqlDataAdapter sdaAdapter8 = new SqlDataAdapter(sql8, objSqlConnection);
sdaAdapter8.Fill(dsDataSet, "Detail1");
sdaAdapter8.Dispose();
//明细表2
string sql9 = "select * from Detail where dCId=" + id;
SqlDataAdapter sdaAdapter9 = new SqlDataAdapter(sql9, objSqlConnection);
sdaAdapter9.Fill(dsDataSet, "Detail2");
sdaAdapter9.Dispose();
}
string CrytalName = "";
//套打选项
string sql_unit="select sPrintWay from SystemPara where sUnitId='"+user.Dept.Id+"'";
string sPrintWay = generalMethodsManager.GetDataBySql(sql_unit).Rows[0]["sPrintWay"].ToString();
#region 遍历打印
ReportDocument doc = new ReportDocument();
doc.PrintOptions.PrinterName = ddl_printList.SelectedValue.ToString();
//遍历CheckBoxList
for (int i = 0; i < this.cblPrint.Items.Count; i++)
{
if (this.cblPrint.Items[i].Selected)
{
//printId += this.cblPrint.Items[i].Value + ",";
switch (this.cblPrint.Items[i].Value)
{
case "1": //结论书打印
{
if (sPrintWay == "0")
{
//string aa;
CrytalName = "../PrintManager/Connection.rpt";
doc.Load(Server.MapPath("" + CrytalName + ""));
doc.SetDataSource(dsDataSet);
doc.PrintToPrinter(1, false, 0, 0);
break;
}
else
{
CrytalName = "../PrintManager/Connection1.rpt";
doc.Load(Server.MapPath("" + CrytalName + ""));
doc.SetDataSource(dsDataSet);
doc.PrintToPrinter(1, false, 0, 0);
break;
}
}
case "2": //明细表
{
CrytalName = "../PrintManager/CollectParticularsList.rpt";
doc.Load(Server.MapPath("" + CrytalName + ""));
doc.SetDataSource(dsDataSet);
doc.PrintToPrinter(1, false, 0, 0);
break;
}
case "3": //测算底稿
{
CrytalName = "../PrintManager/TechnicalReportOfAppraisal.rpt";
doc.Load(Server.MapPath("" + CrytalName + ""));
doc.SetDataSource(dsDataSet);
doc.PrintToPrinter(1, false, 0, 0);
break;
}
case "4": //不予受理通知书
{
CrytalName = "../PrintManager/NoticeCenter.rpt";
doc.Load(Server.MapPath("" + CrytalName + ""));
doc.SetDataSource(dsDataSet);
doc.PrintToPrinter(1, false, 0, 0);
break;
}
case "5": //业务承办单
{
CrytalName = "../PrintManager/YxsPriceCertificationContractor.rpt";
doc.Load(Server.MapPath("" + CrytalName + ""));
doc.SetDataSource(dsDataSet);
doc.PrintToPrinter(1, false, 0, 0);
break;
}
case "6": //现场勘查记录
{
CrytalName = "../PrintManager/SiteInspectionRecordsCr.rpt";
doc.Load(Server.MapPath("" + CrytalName + ""));
doc.SetDataSource(dsDataSet);
doc.PrintToPrinter(1, false, 0, 0);
break;
}
case "7": //市场调查记录
{
CrytalName = "../PrintManager/MarketResearchRecordCr.rpt";
doc.Load(Server.MapPath("" + CrytalName + ""));
doc.SetDataSource(dsDataSet);
doc.PrintToPrinter(1, false, 0, 0);
break;
}
case "8": //文书送达回执
{
CrytalName = "../PrintManager/YxsPriceCertificationReceipt.rpt";
doc.Load(Server.MapPath("" + CrytalName + ""));
doc.SetDataSource(dsDataSet);
doc.PrintToPrinter(1, false, 0, 0);
break;
}
}
}
}
#endregion
#endregion
}