SQL Server'da saklı yordamları kullanarak Crystal Report'da veri yerleştiriyorum. CR'deki formülü kullanarak her sütunu geçiren ve biçimlendiren parametreleri kullanarak istediğim baskı çıktısını elde edebildim.Kristal Raporu Doğrudan ASP.NET'te Yazdır C#
Raporlamada, olağan süreç, Crystal Report Viewer'da oluşturulan/oluşturulan çıktıyı önizleme olacak, daha sonra, baskı işlevlerine devam etmek için ilk önce raporu PDF'ye dönüştürecek olan yazdırma, verme seçenekleri var
İstediğim şey, yazdırma düğmesini tıkladığımda otomatik olarak yazdırma işlemlerine yol açacaktır.
ben cevap How to print crystal report directly to a client machine using C# Asp.netusing oReportDocument.PrintToPrinter(1,true,0,0);
kod için bu bağlantıya kurşun oldu, ayrıca sayfa init veri kümesini doldurmak için düşündüren diğerleri, ama bunu nasıl yapılacağına ilişkin kayıp görünüyor ediyorum. .
Bu benim şu anda çalışan kod (o kristal rapor önizleme ilk götürecektir zamanki baskı işlemidir
public partial class Report_MonthlySalesReportPrint : System.Web.UI.Page
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
ReportDocument report = new ReportDocument();
protected void Page_Load(object sender, EventArgs e)
{
con.Open();
//Parameters to be passed as needed in formulas in Report
string RP = Session["RP"].ToString();
DateTime cms = Convert.ToDateTime(Session["CurrentMonthStart"].ToString());
string Loc = Session["Location"].ToString();
string MonthCurrent = Session["MonthCurrent"].ToString();
string YearCurrent = Session["YearCurrent"].ToString();
string MonthPrevious = Session["MonthPrevious"].ToString();
string YearPrevious = Session["YearPrevious"].ToString();
string MonthLastYear = Session["MonthLastYear"].ToString();
string YearLastYear = Session["YearLastYear"].ToString();
report.Load(Server.MapPath("MSRC.rpt"));
CrystalReportViewer1.ReportSource = report;
CrystalReportViewer1.ReuseParameterValuesOnRefresh = true;
CrystalReportViewer1.DataBind();
report.SetParameterValue(0, MonthLastYear);
report.SetParameterValue(1, MonthCurrent);
report.SetParameterValue(2, MonthPrevious);
report.SetParameterValue(3, RP);
report.SetParameterValue(4, Loc);
report.SetParameterValue(5, cms);
report.SetParameterValue(6, YearCurrent);
report.SetParameterValue(7, YearPrevious);
report.SetParameterValue(8, YearLastYear);
report.PrintToPrinter(1, true, 0, 0);
con.Close();
}
}
GÜNCELLEME: Sadece ihtiyaç duyulan
bu konuyu netleştirmek amacıyla güncellemek için bu kabul cevabı aşağıda sunucu tarafında sadece çalışacaktır. kullanıcı uzaktan sunucu eriştiğinde böyle, kod çalışmaz Anlamı.
hi @balajibran, neredeyse ben gönderdiniz dayalı aynı kodlara sahip. Tek fark, veri kümesi ve datatable kullanmıyorum. CrystalReport.PrintToPrinter (1, false, 0, 0) koyarak önerinizi takip ettim; sadece mevcut kodumda, ama hiçbir şey değişmedi, hala kristal rapor görüntüleyicisine önizleme yapıyor. – rickyProgrammer
iyi haber, bu zaten benim için çalıştı, bir süre önce doğru yazıcıya bağlı değildi tek sorun. Bununla birlikte, birkaç tane daha sorgum var. Bunu, bir yazıcı iletişim kutusunun hemen yazdırılmadan önce gösterileceği yerde nasıl ayarlayabilirim, yani kağıdın boyutunu ayarlamak ve genellikle yazdırmakta olan kullanıcıyı bilgilendirmek için buna ihtiyacım var. – rickyProgrammer
Bunun için ben buna cevap verdim, ancak istediğim şey bir PRINT DIALOG'un mevcut bir yazıcıyı seçmesi için ilk önce çıkması gerektiğidir, çünkü kullandığımız kod sayesinde, raporu doğrudan ve hemen yazdırır. Daha esnek yazdırma seçenekleri için bir yazdırma iletişim kutusuna ihtiyacım var. Bunu nasıl yapabilirim? Teşekkürler – rickyProgrammer