PDA

View Full Version : آموزش: نمونه کار کریستال ریپورت در C#‎



s@nb@l
شنبه 26 دی 1388, 13:13 عصر
برای گزارش گیری از داده ها، از نرم افزار های مختلفی میشه استفاده کرد اما از اونجایی Crystal Report نسخه ابتدایی اون به همرا Visual Studio به صورت رایگان عرضه میشه بسیاری دوستان از اون برای گزارش گیری استفاده می کنند .

برای گزارش گیری ابتدا یک پروژه ایجاد کرده و یک فرم به پروژه به نام FormReport اضافه کنید در این فرم از قسمت ابزار گزینه CrystalReportViewer را به فرم اضافه کنید .

از منوی Project -> Add New Item یک فایل Crystal Report را به پروژه اضافه کنید و در این قسمت با دوبار کلیک بر روی فایل تازه ایجاد شده ، صفحه Designer باز شده و به طراحی گزارش بپردازید ( توضیح این بخش مفصل بوده و از بحث این مقاله خارجه با کمی حوصله حتما می تونید که یک گزارش خوب طراحی کنید ) ،‌پس از طراحی گزارش آن را ذخیره کرده و به پروژه بر گردید .

در فرم اصلی برنامه یک عدد Button و یک عدد DataGridView قرار بدین و کدهای زیر را در فرم اصلی وارد کنید .

ابتدا یک متغییر عمومی به صورت زیر تعریف کنید (‌این روش و روشهایی دیگری که در این آموزش استفاده می شود پیشنهادی است و شما می توانید از روشهای دیگر نیز استفاده کنید)
private DataTable dataTableEmp = new DataTable();

در رویداد Load فرم نیز کد زیر را قرار دهید ( لازم به توضیح نیست که باید ابتدا کانکشن را ایجاد کنید )
dataTableEmp.Clear();
sqlConnection2.Open();
sqlDataAdapter1.Fill(dataTableEmp);
sqlConnection2.Close();
dataGridViewDB.DataSource = dataTableEmp;

و در نهایت نیز در Button مربوطه کد زیر را قرار دهید
FormReport f = new FormReport();
f.dataTableEmp = dataTableEmp;
f.ShowDialog();

من برای ارسال داده از یک متغییر عمومی به صورت Public در فرم دوم استفاده کرده ام ،‌شما می توانید از هر روشی که راحت تر هستید استفاده کنید .

در فرم دروم یعنی FormReport ابتدا یک متغییر عمومی به صورت زیر تعریف کرده
public DataTable dataTableEmp;

و در نهایت کدهای زیر را در رویداد Load فرم دوم قرار دهید
CrystalReport1 c = new CrystalReport1();
c.SetDataSource(dataTableEmp);
crystalReportViewer1.ReportSource = c;
فایل زیر یه نمونه از کریستال ریپورت با اكسس است.

csharpprogramer88
سه شنبه 06 بهمن 1388, 12:25 عصر
سلام
برنامه شمارا دانلود کردم گزارشگیری شما شامل همه سطرهای جدول می شود حال اگر بخواهیم باکلیک بر روی یکی از سطرهای گرید ویو (کدشهر 11 ) را برای گزارش ببریم و بتوانیم پرینت بگیریم چیکار باید بکنیم دوست گرامی من با کریستال کار نکردم لطف کنید دقیق تر و با مثال توضیح بدید

s@nb@l
پنج شنبه 08 بهمن 1388, 11:15 صبح
سلام
دستور SELECT مربوط به SQL رو با توجه به كليك روي خانه تغيير بدين و ادامه كار رو مانند برنامه فوق است.
موفق باشين.

12345tina
دوشنبه 14 تیر 1389, 17:03 عصر
راه ساده تر هست؟

s@nb@l
یک شنبه 20 تیر 1389, 19:00 عصر
راه ساده تر هست؟

سلام

سادهترينه

موفق باشيد

mmd2009
سه شنبه 22 تیر 1389, 05:06 صبح
با سلام

اگر می خواهید یک ردیف از گرید رو به گزارش ببرید یک راهش ارسال پارامتر هستش

AsgharMehtar
یک شنبه 27 تیر 1389, 16:44 عصر
حالا اگه بخوایم از چن تا جدول که با کلید خارجی با هم ارتباط دارن استفاده کنیم باید چکار کنیم... من که با دستور select هر کاری میکنم جواب نمیگیرم

samiradormohammadi
یک شنبه 03 مرداد 1389, 09:15 صبح
میشه لطفا ازسال پارامتر ها را توضیح بدین؟ من پارامتر ها رو تو report ایجاد کردم ولی کدی که مقدار میدنو بلد نیستم . لطفا راهنماییم کنید

s@nb@l
دوشنبه 04 مرداد 1389, 18:04 عصر
حالا اگه بخوایم از چن تا جدول که با کلید خارجی با هم ارتباط دارن استفاده کنیم باید چکار کنیم... من که با دستور select هر کاری میکنم جواب نمیگیرم

سلام

موقع ايجاد گزارش، گزارشو را به Query كه مدنظرتون هست و قبلا ايجادش كردين، وصل كنيد سپس توي برنامه هم از دستور select استفاده كنيد

موفق باشين

s@nb@l
دوشنبه 04 مرداد 1389, 18:11 عصر
میشه لطفا ازسال پارامتر ها را توضیح بدین؟ من پارامتر ها رو تو report ایجاد کردم ولی کدی که مقدار میدنو بلد نیستم . لطفا راهنماییم کنید

سلام
براي مثال كد زير رو در لود صفحه گزارش قرا مي ديم ID يه پارامتر كهبا idkart مقداردهي شده

Dim objCRGozareshKart As New CRSodoreKart()
CrystalReportViewer1.ReportSource = objCRGozareshKart
objCRGozareshKart.SetParameterValue("ID", idKart)

موفق باشيد

mmd2009
شنبه 09 مرداد 1389, 08:57 صبح
میشه لطفا ازسال پارامتر ها را توضیح بدین؟ من پارامتر ها رو تو report ایجاد کردم ولی کدی که مقدار میدنو بلد نیستم . لطفا راهنماییم کنید

یک نمونه قبلا نوشته بودم برای ارسال پارامتر ولی بانکش نیستش

ولی کدهارو ببینی متوجه میشی

s@nb@l
سه شنبه 01 شهریور 1390, 10:29 صبح
میشه لطفا ازسال پارامتر ها را توضیح بدین؟ من پارامتر ها رو تو report ایجاد کردم ولی کدی که مقدار میدنو بلد نیستم . لطفا راهنماییم کنید

سلام

CRProxy objCRProxy = new CRProxy();
objCRProxy.SetDataSource(objDataTable);
cRVProxy.ReportSource = objCRProxy;

objCRProxy.SetParameterValue("id", "1234");


cRVProxy.Show();

موفق باشید

sara213
پنج شنبه 03 شهریور 1390, 17:04 عصر
در بخش ابزارهای گزارش گیری در قسمت"چه طور میتونم گزارشی بر اساس دستورات sqlبسازم"جواب این سوال هست