PDA

View Full Version : سوال: مشکل با پرینت گزارش درasp.net. (تو بخش کریستال جواب نگرفتم)



helia64
جمعه 20 مرداد 1391, 13:37 عصر
سلام دوستان

من مشکلی در کریستال ریپورت داشتم هرچی تو تالار کریستال ریپورت می پرسم کسی جواب نمیده
من صفحه ای در برنامه وبم دارم که برای گزارش گیری هست . با ستفاده از کریستال ریپورت فیلدهای مورد نیازم رو اوردم و پارمترهایی که میخوام گزارشگیری براساس اونها باشه رو هم new کردم و ساختم .از طرفی در صفحه ام هم یک viewer گذاشتم تا گزارش رونمایش بده حالا وقتی بصورت ویزاردی میرم مشکلی نیست. پرینتر کار میکنه. اما قبل ان ازم پارمترها رو می خواد که یک صفحه انگیلیسی هست

من نمیخوام اینطوری باشه و میخوام کاربر در textbox هایی که مت گذاشتم عمل گزارشگیری رو اتجام بده . پس قسمت پارامتر رو تیکش رو برداشتم و یک دکمه بنام گزارش گذاشتم. حالا کاربر textboxهارو که پرمیکنه و روی دکمه میزنه وبراساس اونها گزارش رو می بینه . اما روی پرینتر که میزنه صفحه رفرش میشه و گزارش پاک میشه و دیگه صفحه پرینتر نمیاد.
براش اومدم حالت toolboxش رو false کردم و خودم دکمه ای بنام پرینت گذاشتم و توش کد زیر رو نوشتم اما وقتی کلیک میکنم برای پرینت میزنه . مسیر رو نمیشناسه
اینم کل کدای این صفحم:


protected void Button1_Click(object sender, EventArgs e)

{



rd.Load(Server.MapPath(
"MojavezReport.rpt"));

rd.SetDatabaseLogon(
"", "", @".", "DrInfo ,Majores");

rd.SetParameterValue(
"dname", TextBox1.Text);

rd.SetParameterValue(
"startdate", TextBox2.Text);

rd.SetParameterValue(
"dnum", TextBox3.Text);

rd.SetParameterValue(
"sex", DropDownList4.Text);

rd.SetParameterValue(
"city", DropDownList1.Text);

rd.SetParameterValue(
"smarried", DropDownList2.Text);

rd.SetParameterValue(
"majorename", DropDownList3.Text);

CrystalReportViewer1.ReportSource = rd;

}


protected void Button2_Click(object sender, EventArgs e)

{





rd.PrintOptions.PrinterName =
"HP LaserJet M1522n";



CrystalReportViewer1.PrintReport();

}



خطا رو از این خط می گیره


:


rd.PrintToPrinter(1,

false, 0,
1);












[/LTR_INLINE]

حالا چکار کنم؟ کلافه شدم خواهشا رانماییم کنید
ممنون

mehdi_gerami65
جمعه 20 مرداد 1391, 19:25 عصر
سلام دوستان

من مشکلی در کریستال ریپورت داشتم هرچی تو تالار کریستال ریپورت می پرسم کسی جواب نمیده
من صفحه ای در برنامه وبم دارم که برای گزارش گیری هست . با ستفاده از کریستال ریپورت فیلدهای مورد نیازم رو اوردم و پارمترهایی که میخوام گزارشگیری براساس اونها باشه رو هم new کردم و ساختم .از طرفی در صفحه ام هم یک viewer گذاشتم تا گزارش رونمایش بده حالا وقتی بصورت ویزاردی میرم مشکلی نیست. پرینتر کار میکنه. اما قبل ان ازم پارمترها رو می خواد که یک صفحه انگیلیسی هست

من نمیخوام اینطوری باشه و میخوام کاربر در textbox هایی که مت گذاشتم عمل گزارشگیری رو اتجام بده . پس قسمت پارامتر رو تیکش رو برداشتم و یک دکمه بنام گزارش گذاشتم. حالا کاربر textboxهارو که پرمیکنه و روی دکمه میزنه وبراساس اونها گزارش رو می بینه . اما روی پرینتر که میزنه صفحه رفرش میشه و گزارش پاک میشه و دیگه صفحه پرینتر نمیاد.
براش اومدم حالت toolboxش رو false کردم و خودم دکمه ای بنام پرینت گذاشتم و توش کد زیر رو نوشتم اما وقتی کلیک میکنم برای پرینت میزنه . مسیر رو نمیشناسه
اینم کل کدای این صفحم:


protectedvoid Button1_Click(object sender, EventArgs e)

{



rd.Load(Server.MapPath(
"MojavezReport.rpt"));

rd.SetDatabaseLogon(
"", "", @".", "DrInfo ,Majores");

rd.SetParameterValue(
"dname", TextBox1.Text);

rd.SetParameterValue(
"startdate", TextBox2.Text);

rd.SetParameterValue(
"dnum", TextBox3.Text);

rd.SetParameterValue(
"sex", DropDownList4.Text);

rd.SetParameterValue(
"city", DropDownList1.Text);

rd.SetParameterValue(
"smarried", DropDownList2.Text);

rd.SetParameterValue(
"majorename", DropDownList3.Text);

CrystalReportViewer1.ReportSource = rd;

}


protectedvoid Button2_Click(object sender, EventArgs e)

{





rd.PrintOptions.PrinterName =
"HP LaserJet M1522n";



CrystalReportViewer1.PrintReport();

}



خطا رو از این خط می گیره


:


rd.PrintToPrinter(1,

false, 0,
1);












[/LTR_INLINE]

حالا چکار کنم؟ کلافه شدم خواهشا رانماییم کنید
ممنون


شما بايد زماني كه پرينت رو مر زني بايد يه بار ديگه اطلاعات بخوني در كريستال ريپورت ويور نمايش بدي تا پرينت بشه و بايد نام پرينتي رو بدي كه در سرور هست