PDA

View Full Version : سوال: طراحی فرم و چاپ اطلاعات



si6arp
دوشنبه 14 آذر 1390, 00:34 صبح
با سلام خدمت دوستان محترم
من یه سری اطلاعات در بانک اطلاعاتی دارم که حالا میخوام یه فرم ( مثل فرم قبض رسید ) طراحی کنم و هر رکوردی رو که سلکت کنم بیاد توی جاهای خودش و در نحایت فرم رو چاپ کنم . (فرم در سایز A5 است )
میشه من رو راهنمایی کنید
پیشاپیش از راهنمایی دوستان کمال تشکر رو دارم

si6arp
دوشنبه 14 آذر 1390, 16:59 عصر
یعنی واقعا کسی اینجا نیست که من رو راهنمایی کنه ؟

Mahmoud Zaad
دوشنبه 14 آذر 1390, 17:26 عصر
سلام
سوال خیلی کلی هست. همه برای چاپ همین کارهایی که فرمودید انجام میدن. شما شروع کنید هر جا مشکل داشتید با جزئیات بپرسید دوستان جواب میدن.

Hybrid
دوشنبه 14 آذر 1390, 17:29 عصر
سلام دوست عزیز همانطور که دوست خوبه مون گفتن شما اول فرم رو طراحی کنین و خودتون برای سلکت کردن رکوردها و اومدن تو قسمت های خودشون خلاقیت به خرج بدین و هرجل که مشکلی داشتین بپرسین ....دوستان حتما کمک میکنند

موفق باشین.

si6arp
دوشنبه 14 آذر 1390, 18:09 عصر
با تشکر من برنامه کریستال ریپورت رو دانلود کردم و فرم رو طراحی کردم. حالا وقتی سیو میکنم یه فایل با پسوند rpt میده . حالا میخوام ببینم که چطوری این فایل رو به C# وصل کنم و چطوری بهش دیتا بفرستم

ucnazard
دوشنبه 14 آذر 1390, 23:51 عصر
برنامه كريستال ريپورت خود ويزوال كافيه چرا برنامه جدا نصب كردين؟؟
تو فايل rpt كه ايجاد كرين قسمت explorer يه بخشي هست (ببخشيد اسمش دقيق يادم نيس)كه برا وصل شدن به ديتابيسه روش راست كليك كنيد خودتون متوجه ميشين وقتي به ديتابيس وصل شدين هر فيلدي رو از جدول كه ميخاين بكشين رو فرم rpt
تا اينجاش پيش برين بقيه شو بپرسين

si6arp
سه شنبه 15 آذر 1390, 02:47 صبح
من هر چقدر گشتم نتونستم ريپورت خود ويزوال رو پیدا کنم . میشه راهنمایی کنید ببینیم این یارو کجاست ؟ :دی

si6arp
سه شنبه 15 آذر 1390, 11:24 صبح
خوب دوستان الام فرم رو طراحی کردم و فیلد ها رو کشیدم. حالا چطوری یه رکورد خاص رو توی این فرم بیارم ؟

ucnazard
سه شنبه 15 آذر 1390, 17:43 عصر
سلام،رو پروژه راست کلیک کنید از قسمتadd --> new item قسمت reporting میتونین فایل کریستال رو اضافه کنید.
و سوال بعدبتون هم اینکه تو خود برنامه سلکتتون رو از دیتابیس انجام بدین بعد اونرو داخل یه دیتاست ذخیره کنین و سورس کریتالتون رو به این دیتاست متصل کنید به این سادگی
موفق باشین

Mahmoud Zaad
سه شنبه 15 آذر 1390, 18:44 عصر
سلام
اول که گزارش رو به پروژه اضافه می کنیم(البته میشه این کارو نکرد و از آدرس دهی استفاده کرد، توی این مثال اضافه شده)
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\DB.mdb");
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM tb1 ORDER BY id ASC", con);
DataSet ds = new DataSet();
توی دیتاستی که به پروژه اضافه شده یه دیتاتیبل همنام با اونچه که توی جدول هست میسازید و فیلدهاش رو هم به هم نامها نامگذاری می کنید
DataTable tb1 = new DataTable();
da.Fill(ds, "tb1");
//تا اینجا همون کارهای معمولی بود برای پر کردن دیتاست

//حالا یه نمونه از گزارش رو می سازیم
CrystalReport1 myrpt = new CrystalReport1();

// دیتاست رو به عنوان منبع داده گزارش معرفی می کنیم
myrpt.SetDataSource(ds);

//اگه پارامتری داشتیم که توی بانک ذخیره نشده(مثلا تاریخ روز) رو به صورت زیر به گزارش می فرستیم(توی گزارش باید یه پارامتر فیلد اضافه کنید)
myrpt.SetParameterValue("parametr", textBox1.Text);

// در آخر هم که گزارش رو به ریپورت ویوری که از توی تولباکس روی فرم گذاشتیم، وصل می کنیم
crystalReportViewer1.ReportSource = myrpt;

si6arp
چهارشنبه 16 آذر 1390, 00:04 صبح
با تشکر فراوان از همه دوستان
مشکلم حل شد داداشای گام

saeed_sho
پنج شنبه 17 آذر 1390, 12:21 عصر
سلام من میخوام از linq استفاده کنم راهی هست که از دیتاست برای کار با کریستال استفاده نکنم؟