# مباحث متفرقه برنامه نویسی > گزارش سازی با Crystal Report >  كريستال  ريپورت  ساده است   حتي  ساده تر از Word

## tto_baran

دوستان عزيز سلام

شايد باور نكنيد . ولي واقعيت است ، كريستال ريپورت بار ها و بارها از Word ساده تر است
ولي اين وسط اين شما هستيد كه بايد ديد خود را نسبت به اين برنامه فوق العاده جالب و اين دوست خوب در برنامه نويسي عوض كنيد .

دوستان گرامي، من با آنكه شغل آزاد دارم و تحصيلات دانشگاهيم نيز هيچ ربطي به كامپيوتر و برنامه نويسي ندارد با وجود انواع محدوديتها كه در شهر هاي كوچك وجود دارد فقط از روي انگيزه و علاقه شخصي به اين سمت كشيده شده ام .

از كريستال ريپورت ترس عجيبي داشتم ، و تا حدودي احساس ميكردم غير ممكن است . ولي اين تا زماني بود كه هنوز آستين ها را با لا نزده بودم و امتحان نكرده بودم
اما حالا به اين نتيجه رسيده ام واقعا اين برنامه يك دوست واقع است همانند Word و بسياري از برنامه هاي كار بردي ديگر.

اگر مايل بوديد من ميتوانم تجربياتم را كم كم و شايد در حدود 10 پست با شما در ميان بگزارم ، و چون مبتدي و تازه كار هستم و هر چه ميدانم خودم پرسيده ام و ياد گرفته ام به روش هاي خيلي ساده نهايتا پيچيده ترين گزارش را تهيه ميكنم .

در صورتي كه مايل هستيد شروع كنم همين جا اعلام كنيد . :خجالت:

----------


## majidmjh

آقا ما از خدامونه ! ولی چون پست های غیر ضروری حذف می شن , کسی پاسخ ارسال نمی کنه ! 

ما بشدت منتظر این شنیدن این تجربیات هستیم .

----------


## tto_baran

خوب  دوستان  عزيز  اين  هم      آموزشي  كه  گفتم  البته  بايد  بگم كه  نظرم  عوض  شده و بجاي  اين  كه   در  پستهاي  متوالي     آن را بنويسم در  يك فايل  متني  نوشته ام 
 اميد وار م  مفيد  واقع شود   چون  نتوانستم  فايل متني  را  ضميمه  كنم  لينك آن را  اينجا ميگذارم .

http://upload.iranblog.com/3/1241647466.rar

در  ضمن يك DLL  هم  به نام   شمسي دي ال ال     داشتم  كه آن را هم  ضميمه  نموده ام 
اميد وارم   همانگونه  كه بار ها و بارها  لطف آن شامل  حال  من  شده  است  شما  هم  از  آن بتوانيد   استفاده  هايي  ببريد .

----------


## y.saied

سلام 
دوست عزيز منتظريم

در ضمن بي زحمت فايلهاي متني رو به pdf تبديل كن

----------


## tto_baran

سلام   دوستان 

بالا خره  موفق  شدم  فايل  پي  دي  اف    آموزش  كريستال ريپورت   را  يه  جاي  ديگه آپلود  كنم  خوب  متاسفانه  حجمش  زياد  بود  و  بصورت  فايل  ضميمه  نمي  توانستم   آن را در  ا اختيار  شما  قرار   دهم   به  همين  دليل    ميتوانيد  آن را از  لينك زير  داونلود  نماييد 


مطمئن باشيد   اين فايل  پي  دي اف است 



http://upload.iranblog.com/3/1241719300.rar


اميد وارم  مشكل  دوستان    را  حل  كنه  .

----------


## محمدامین شریفی

مقالتون خیلی قشنگ بود،مهندس رحمانپور

و از اینکه همت کردید و با جمع آوری مطالب مختلف از سایت،مانند:
تاریخ شمسیکانکشن کریستال ریپورتحروف عربی/هندیپاس دادن پارامتر ها و دستور های sql در کریستال ریپورتاین مقاله را جمع آوری کرده اید و با گزاشتن عکس های مرتبط بصورت بسیار مرتب شده مقاله را در قالب مناسب ارائه کرده اید. جای سپاس دارد. :تشویق: 


ولی چند نکته است،که این شاگرد بایدعرض کند:
در هنگام انتخاب جدول(که دوستمان آنرا بوسیله کانکشن مستقیم آورده بودند).بهتر است بوسیله ی dataset وارد گزارشگیریمان بشوندبهتر بود قبل از ایجاد این مقاله آموزشی جستجویی می فرمودید و مقاله های مشابه را مطالعه می کردیداگر قصد آموزش دارید آنرا در تاپیکی با موضوع مناسب بنویسید و اگر قصد ارائه یک پروژه بخصوص دارید آنرا در 3 فایل به نام های 1)سورس کد(برنامه در ویژال استدیو 2)داکیومنت(همین مقاله) 3)دمو عرضه کنید.نکته خوب این مقاله برای من همون شماره های فارسی بود که شما با تغییر فونت به مثلا bnazanin(یکی از فونت های ناز پارسی) این مشکل را برطرف کردید.
فقط یادتان باشد،فونت هایی که شما در برنامه یتان استفاده می کنید، امکان دارد در رایانه مشتری نباشد،چاره اینکار نصب فونت مورد نظرتان در هنگام نصب برنامه می باشد.

پیروز باشید.

----------


## tto_baran

با سلام 

از اين كه اين دوست گرامي من را مهندس خطاب كرده اند من  دچار غرور كاذب نخواهم شدو   با عرض شرمندگي بعرض ميرسانم من مهندس نيستم

اين مقاله را هم كه البته اگر بشه اسمش را مقاله گذاشت فقط بخاطر اين نوشتم كه ترس دوستان مپتدي مانند خودم از كريستال ريپورت بريزه و به چشم يك غول به آن نگاه نكنند و الا


كه جايي كه درياست من كيستم؟                                              گراوهست حقاكه من نيستم  
 

بركسي پوشيده نيست كه گروهي از دوستان واقعا دريا هستند و در مقابل دريا قطره وجود ي ندارد 
و اما از راهنمايي هاي شما سرور گرامي بسيار خرسند شدم و قطعا به دانش هرچند ناچيز من افزودي سپاسگذارم .

----------


## sokotn2008

با سلام به شما 
شما در این مطلب گفته اید که کریستال حتی از ورد هم راحت تر است حال پس اگر اینگونه هست شما جواب منو بدهید البته یک پستی با نام گزارش پویا ایچاد کرده ام 
https://barnamenevis.org/showthread.php?p=718370
ولی کسی جوابی برای من ندارد 
حالا اینجا هم مشکلم را باز می نویسم آن هم اینکه 
شما تصور کنید که من یک جدولی دارم با 6 فیلد که به نام های 
کد******** نام ************* نام خانوادگی********* تاریخ تولد ************ شماره شناسنامه**********کد ملی 
حال گزارشی به شکل و ترتیب بالا را من در کریستال ایجاد کرده ام حال کاربر هنگام گزارش ایجاد کردن می آید و کد و نام خانوادگی و کد ملی را تیک می زند تا نمایش دهد اما یک مشکلی در ظاهر فرم ایجاد می شود آن هم اینکه ستون اول نمایش داده می شود ستون دوم نمایش داده نمی شود اما جای آن خالی می ماند حال ستون سوم و بعد به اندازه ی 2 ستون باز جای خالی داریم و بعد ستون آخر یعنی به این صورت 
کد ********************* نام خانوادگی**********************************  **************************کد ملی 
(البته این ستاره هار و برای این گذاشتم چون هرچه فاصله یم گذارم از بین می رود دو واقع این ستاره ها حکم هما فاصله ها را در گزارش دارد )
می بینید که ظاهر ی بد تر از گزارش های معمولی ایجاد می کند و فاصله ی بین ستونها نامنظم می شود که کاربر از این بی نظمی خوشش نیم آید چه انجام دهم که این مشکل فاصله بین ستون ها را از بین ببرم 
ممنون می شم اگر کمکم کنید یا منبعی را به من معرفی کنید 
و د رآخر یه سوال دیگه هم دارم چگونه می توان فونت فرم گزارش را انتخاب آن را به عهده ی کاربر گذاشت مثلا برای تعیین اندازه ی فرم چاپی می توان این فرمول را در برنامه نوشت 
CrystalReportperson.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperA4;
که این اندازه کاغذ چاپی را می دهد چگونه با کد نویسی فونت گزارش را به آن بدهم ممنون می شم اگر در این دو مسئله به من کمک کنید .

----------


## محمدامین شریفی

دوستمون که گفتند راحت تر از word است.مشکل شما با یک for حل میشه :چشمک: 
اینجا را نگاه کن.احتمالا mbt925 یادشان رفته منبع مقالشون رو ذکر کنند.
نمیدانستم آقای بیگلری جای دیگری هم مشغول فعالیت هستند :چشمک: (موفق باشند)

----------


## alimanam

با عرض سلام خدمت تمامی دوستان

اول از همه من یادآور بشم که مقاله دوست عزیزمون که زحمت کشیدن و با وقت گذاشتن مقاله آموزشی طراحی کردن متاسفانه ندیدم و نمی دونم چطوریه ولی با دیدن صحبتهای بچه ها 100% باید چیز خوب و جالبی باشه من یه مقاله البته به صورت زبان اصلی دارم که شاید نکاتی رو هرچند ساده ولی کاربردی داره و ممکنه به درد بعضی از دوستان بخوره *اینجا آپ کردم* که می تونین ببینین من هم کاملاً با صحبت دوست عزیزمون که فرمودن کریستال ریپورت از ورد آسونتره موافقم چون واقعاً اینگونه است .

یا علی

----------


## red11011

> خوب دوستان عزيز اين هم آموزشي كه گفتم البته بايد بگم كه نظرم عوض شده و بجاي اين كه در پستهاي متوالي آن را بنويسم در يك فايل متني نوشته ام 
> اميد وار م مفيد واقع شود چون نتوانستم فايل متني را ضميمه كنم لينك آن را اينجا ميگذارم .
> 
> http://upload.iranblog.com/3/1241647466.rar
> 
> در ضمن يك DLL هم به نام شمسي دي ال ال داشتم كه آن را هم ضميمه نموده ام 
> اميد وارم همانگونه كه بار ها و بارها لطف آن شامل حال من شده است شما هم از آن بتوانيد استفاده هايي ببريد .


 سلام
این کتابخانه ای که گزاشتین تو محاسبه و تبدیل تاریخ میلادی به شمسی ایراد داره من قبلا این موضوع رو برای تاریخ های سال 86 تست کردم و محاسبش یک روز اختلاف داره

----------


## tto_baran

فكر نكنم چون مطمئنم سالهاي كبيسه را توش لحاظ كرده اند. و  من  در  VB 6  براي  خودم  برنامه  اي  ساخته ام   كه  الا ن  حدود  سه  سال  است  مرتب و  هر  روز  كار  ميكند  براي  تاريخش از  اين  كتابخانه   استفاده  كرده ام   تا  امروز كه  همچين  چيزي  نديدم

----------


## tto_baran

red11011   عزيز و  دوستان گرامي  پيشنهاد ميكنم  مطلب  آموزشي  زير را  مطالعه فرماييد . 



https://barnamenevis.org/showthread.php?t=160939

----------


## red11011

از این نظر مطمئن باشید که این خطا رو داره من هم مدت یک سال از همین کتابخانه استفاده میکردم 
تو بقیه قسمتها هم مشکلی ندیدم اما توی این قسمت تبدیل تاریخ میلادی به شمسی ایراد داره چون با دو تا کتابخانه دیگه تست کردم اونها درست محاسبه میکردن
موفق باشین

----------


## محمدامین شریفی

> از این نظر مطمئن باشید که این خطا رو داره من هم مدت یک سال از همین کتابخانه استفاده میکردم 
> تو بقیه قسمتها هم مشکلی ندیدم اما توی این قسمت تبدیل تاریخ میلادی به شمسی ایراد داره چون با دو تا کتابخانه دیگه تست کردم اونها درست محاسبه میکردن
> موفق باشین



string persianDateString;
int year, month, day;
DateTime dtg;
System.Globalization.PersianCalendar pc = new System.Globalization.PersianCalendar();
year = pc.GetYear(DateTime.Now);
month = pc.GetMonth(DateTime.Now);
day = pc.GetDayOfMonth(DateTime.Now);
dtg=newDateTime(year,month, day, new System.Globalization.PersianCalendar());
//I write persian date in Us date's style,you can change order of date
persianDateString = month.ToString() + "/" + day.ToString() + "/" + year.ToString();
MessageBox.Show(dtg.ToShortDateString());
MessageBox.Show(persianDateString);

دوستان لطفا بحث ها رو به سمت کریستال ریپورت هدایت فرمایید.

----------


## محمدامین شریفی

یکی از دغده ای که هر برنامه نویسی دارد، portability بودن برنامه اش می باشد.
این بدان معناست که با جابجا کردن برنامه اش از یک سیستم به سیستم دیگر برنامه اش بدون هیچ گونه تغییراتی اجرا شود.
و یکی از علاقه مندی هایی که هر برنامه نویس دارد reusable بودن کدهایش می باشد.
این هم به این معنی است که کد یا DLL ای که برای پروژه اش تولید کرده است را بتواند در محیط های مختلف و در پروژه های دیگر استفاده کند.این مسئله آنقدر مهم هست که تبدیل به شعار جاوا شده است:"یک بار بنویس و همه جا استفاده کن".
یکی از مزیت هایی که دات نت دارد،شئی گرایی بالای آن می باشد،بخصوص با دات نت 3.5 که اوج قدرت شئ گرایی را چه در windows application یا winapp و چه در web application یا webapp در مقابل رقبایش به نمایش گزاشته است. ولی اگر از شئی گرایی و فریم ورک بودن این فناوری ، درست استفاده نشود باعث پایین آمدن performance برنامه می شود.پس یکی از نکات کلیدی هر برنامه بالا بودن عملکرد آن برنامه می باشد.

در پی درخواستی که یکی از بزرگواران داشتند، بنا بر آن شدم که لینک هایی را در این موارد برای شما عزیزان بگزارم:
http://www.barnamenevis.org/sh...d.php?t=132880http://www.barnamenevis.org/sh...d.php?t=142431http://www.barnamenevis.org/sh...ad.php?t=33592پیروز باشید

----------


## mehrnoosh_al62

> ولی چند نکته است،که این شاگرد بایدعرض کند: 
> در هنگام انتخاب جدول(که دوستمان آنرا بوسیله کانکشن مستقیم آورده بودند).بهتر است بوسیله ی dataset وارد گزارشگیریمان بشوند


سلام
دوست عزیز ممکنه بگید چطور میشه بدون نیاز به ایجاد کانکشن مستقیم توسط ویزارد و با استفاده دیتاست گزارش گرفت.
من کوئری های مورد نظرمو توسط Stored procedure نوشتم و نمیدونم چطور میتونم تو کریستال ازش استفاده کنم. ممکنه کمکم کنید...

----------


## محمدامین شریفی

> [/list]سلام
> دوست عزیز ممکنه بگید چطور میشه بدون نیاز به ایجاد کانکشن مستقیم توسط ویزارد و با استفاده دیتاست گزارش گرفت.
> من کوئری های مورد نظرمو توسط Stored procedure نوشتم و نمیدونم چطور میتونم تو کریستال ازش استفاده کنم. ممکنه کمکم کنید...


ببخشید که بخاطر دانشگاه دیر جواب دادم.
دوست من،اینجا را نگاه کن،متوجه می شوی.
بچه ها اگر علاقه مند هستید،ماه دیگه یک کار گروهی انجام دهیم.
مثلا یک نظر سنجی بلادرنگ و یا آمار یک شرکت فرضی را با کریستال ریپورت در asp.net پیاده سازی کنیم.
فکر کنم مورد دوم، ما را بیشتر با اصول اقتصادی یک شرکت آشنا می کند.

پیروز باشید.

----------


## mehrnoosh_al62

دوست عزیز من اصلا متوجه این لینکی که فرستادید نشدم... ظاهرا فقط طریقه ساخت sp و add کردن اون به کریستال رو توضیح داده. من مشکلی که دارم اینه که چطور کلیه کار هایی که تو کریستال با ویزارد و دستی انجام میشه مثلا database expert  و یا حتی درگ کردن فیلد ها به کریستال رو توسط کد انجام بدم...
در ضمن من چندین Sp  دارم که ارتباطی با هم ندارند. باید برای هر کدوم یه کریستال جدا Add کنم؟؟

----------


## محمدامین شریفی

> دوست عزیز من اصلا متوجه این لینکی که فرستادید نشدم... ظاهرا فقط طریقه ساخت sp و add کردن اون به کریستال رو توضیح داده. من مشکلی که دارم اینه که چطور کلیه کار هایی که تو کریستال با ویزارد و دستی انجام میشه مثلا database expert و یا حتی درگ کردن فیلد ها به کریستال رو توسط کد انجام بدم...
> در ضمن من چندین Sp دارم که ارتباطی با هم ندارند. باید برای هر کدوم یه کریستال جدا Add کنم؟؟


ضاهرا پرسش شما هم درباره stored procedure بود نه توابع کریستال.به هر حال به این طریق:

ReportDocument RepDoc = newReportDocument();
RepDoc.DataDefinition.

بعد از نقطه Datadefinition توابع دلخواهتان را می توانید بگذارید.
در این آموزش کاملا توضیح داده شده است.
اینم  آموزش کریستال ریپورت که توسط بچه های برنامه نویس گذاشته شده.(البته خودم ندیدم):
CrsystalReports With SQL 2005.zip‏Crystal Report PersianDate.zip‏Report DataBase in VB.zip‏پیروز باشید.

----------


## mehrnoosh_al62

دوست خوبم از وقتی که میذارید ممنونم. ولی هیچکدوم از این پست هایی که گذاشتید جواب سوال من نبود. فکر میکنم من سوالمو خوب مطرح نکردم...
موضوع سوال ارتباط بین کریستال ریپورت و Stored Procedure بدون استفاده از ویزارد های برنامه هست.  و اینکه برای هر Sp باید یک کریستال جدا Add کنم یا اینکه میشه در یک کریستال ریپورت چندین گزارش مجزا داشت؟؟

----------


## محمدامین شریفی

> دوست خوبم از وقتی که میذارید ممنونم. ولی هیچکدوم از این پست هایی که گذاشتید جواب سوال من نبود. فکر میکنم من سوالمو خوب مطرح نکردم...
> موضوع سوال ارتباط بین کریستال ریپورت و Stored Procedure بدون استفاده از ویزارد های برنامه هست. و اینکه برای هر Sp باید یک کریستال جدا Add کنم یا اینکه میشه در یک کریستال ریپورت چندین گزارش مجزا داشت؟؟


 اگر منظورتان دو جدول در یک گزارش می باشد. اینجا را ببینید.اگر پرسشتان چیز دیگری است،نمی دانم.
ولی در کل SP ها که در گزارش گیری،بصورت view و یا table استفاده میشوند،از روش بالا قابل استفاده هستند.اصل گزارشگیری بر استفاده از چند جدول نرمال شده می باشد.

پیروز باشید.

----------


## mehrnoosh_al62

من حدوده 10 Stored Procedure دارم که با هم ارتباطی ندارند. یعنی هر کدام یک گزارش مجزاست.... باید تو برنامم 10 کریستال ریپورت داشته باشم؟؟!!!

----------


## محمدامین شریفی

> من حدوده 10 Stored Procedure دارم که با هم ارتباطی ندارند. یعنی هر کدام یک گزارش مجزاست.... باید تو برنامم 10 کریستال ریپورت داشته باشم؟؟!!!


گرچه دیتابیس شما نرمال نیست، و گزارش گیری شما علمی نمی باشد.ولی اگر شما SP ها را درون Dataset بگزارید،اینکار شدنی است.ولی درصورتی که relationship بین فیلد هایتان وجود نداشته باشد،در حالت visual *این خطا را می دهد*:
Your current link configuration contains multiple starting points.Please be advised that this is generally not supported
بنابرین به نظر من،چند ReportDocument ایجاد کنید.بهتر است. 

پیروز باشید.

----------


## mehrnoosh_al62

ممنونم
ولی اینکه میگید نرمال نیست یعنی چی؟ خوب برنامه من برنامه انبارداریه و کلی Stored procedure دارم و طبیعتا گزارش های برنامم با استفاده از اوناست....

----------


## محمدامین شریفی

> ممنونم
> ولی اینکه میگید نرمال نیست یعنی چی؟ خوب برنامه من برنامه انبارداریه و کلی Stored procedure دارم و طبیعتا گزارش های برنامم با استفاده از اوناست....


اتفاقا در برنامه های انبارداری و حسابداری،نرمال سازی پایگاه داده ها،آسان تر از بقیه پروژه ها می باشد.

طراحی پایگاه داده(مقاله)

دوستان لطفا بحث ها رو به سمت کریستال ریپورت هدایت فرمایید.

----------


## mehrnoosh_al62

چطور میتونم فیلد ها رو با استفاده از کد به فسمت Details یا Header در کریستال بکشونم؟ نمیخوام دستی این کار رو انجام بدم...
فیلد های مربوط به Stored Procedure...

----------


## محمدامین شریفی

> چطور میتونم فیلد ها رو با استفاده از کد به فسمت Details یا Header در کریستال بکشونم؟ نمیخوام دستی این کار رو انجام بدم...
> فیلد های مربوط به Stored Procedure...


درباره پرسش اولتان،به این دلیل که section ها توی کریستال ریپورت readOnly هستند،نمیدانم چگونه باید تغییرشان بدهیم.
درباره پرسش دومتان هم پیشین بحث شد و  ربطی به پرسش اولتان ندارد.
با توجه به SP های نامرتبط شما،برای اینکه مجبور نشودید از چند ReportDocument استفاده کنید،باید از روش پاس دادن پارامتر ها استفاده کنید.(این برنامه در تاپیکی دیگر، به عنوان گزارشگیری داینامیک معرفی شده است،به همه دوستان پیشنهاد میکنم،برنامه را ببینند.)

پیروز باشید.

----------


## mehrnoosh_al62

من این برنامه رو دیدم ولی نمیدونم چطور ازش استفاده کنم... آخه چطور به SP ربطش بدم؟؟؟ ببنید تو این برنامه یه دیتاتیبل تعریف کرده با یه تعداد مشخص فیلد که برابر تعداد فیلدهای جدول بود... و بعد با توجه به فیلد هایی که درخواست میشد انهارو به پارامتر هایی که تعریف کرده بود نسبت میداد...  

strQuery += ",Title as Column" + ColCounter + " ";

یعنی اسم و تعداد فیلدهای جدول کاملا مشخصه...
ولی تعداد فیلها در Sp ها یکی نیست در ضمن من چطور میتونم فیلد های اونو به پارامتر های برنامه ربط بدم.. اصلا چند تا پارامتر باید تعریف کنم...؟؟؟

----------


## محمدامین شریفی

> من این برنامه رو دیدم ولی نمیدونم چطور ازش استفاده کنم... آخه چطور به SP ربطش بدم؟؟؟ ببنید تو این برنامه یه دیتاتیبل تعریف کرده با یه تعداد مشخص فیلد که برابر تعداد فیلدهای جدول بود... و بعد با توجه به فیلد هایی که درخواست میشد انهارو به پارامتر هایی که تعریف کرده بود نسبت میداد... 
> 
> strQuery += ",Title as Column" + ColCounter + " ";
> 
> یعنی اسم و تعداد فیلدهای جدول کاملا مشخصه...
> ولی تعداد فیلها در Sp ها یکی نیست در ضمن من چطور میتونم فیلد های اونو به پارامتر های برنامه ربط بدم.. اصلا چند تا پارامتر باید تعریف کنم...؟؟؟


فرض بر این است که دوستان برنامه قبلی را مشاهده کرده باشند.
پایگاه داده ای را با مشخصات زیر می سازیم:

USE [mehrnoosh_al62]
GO
/****** Object: Table [dbo].[Customer] Script Date: 06/17/2009 13:01:32 ******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE [dbo].[Customer](
[codee] [int] NOTNULL,
[FirstName] [nvarchar](50)NULL,
[Address] [ntext] NULL,
[Phone] [text] NULL,
CONSTRAINT [PK_Customer] PRIMARYKEYCLUSTERED
(
[codee] ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON [PRIMARY]
)ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

دیتاست را با پایگاه داده هماهنگ می کنیم[قسمتی که باید ویرایش بشود،نشان داده شده است]:

<xs:sequence>
<xs:elementname="Column1"msprop:Generator_UserColumnName="Column1"msprop:Generator_ColumnPropNameInRow="Column1"msprop:Generator_ColumnVarNameInTable="columnColumn1"msprop:Generator_ColumnPropNameInTable="Column1Column"type="xs:int"minOccurs="0" />
<xs:elementname="Column2"msprop:Generator_UserColumnName="Column2"msprop:Generator_ColumnPropNameInRow="Column2"msprop:Generator_ColumnVarNameInTable="columnColumn2"msprop:Generator_ColumnPropNameInTable="Column2Column"type="xs:string"minOccurs="0" />
<xs:elementname="Column4"msprop:Generator_UserColumnName="Column4"msprop:Generator_ColumnPropNameInRow="Column4"msprop:Generator_ColumnVarNameInTable="columnColumn4"msprop:Generator_ColumnPropNameInTable="Column4Column"type="xs:string"minOccurs="0" />
<xs:elementname="Column5"msprop:Generator_UserColumnName="Column5"msprop:Generator_ColumnPropNameInRow="Column5"msprop:Generator_ColumnVarNameInTable="columnColumn5"msprop:Generator_ColumnPropNameInTable="Column5Column"type="xs:string"minOccurs="0" />
</xs:sequence>

 به app.config،آدرس پایگاه داده را اظافه می کنیم:

<addname="app5.Properties.Settings.mehrnoosh_al62ConnectionS  tring"
connectionString="Data Source=AMINSHARIFI67\SQLEXPRESS;Initial Catalog=mehrnoosh_al62;Integrated Security=True"
providerName="System.Data.SqlClient" />

---------------- در این قسمت فقط کدهایی که به برنامه قبل اظافه شده است،توضیح داده خواهد شد.

لیستی را جهت نگهداری اسامی SP هایمان در قسمت عمومی ایجاد می کنیم:

IList<string> q = newList<string>();
 و در کلاس CreateSelectQueryAndParameters در قسمت شرط های if دستور زیر را می نویسیم:

 q.Add("Code");
 
 به این معنی که اگر کاربر چک باکس code را تیک زده بود،به لیست ما،حرف مربوطه را وارد کن.
 سپس SP های خود را می سازیم.SP ای که برای code می باشد،بصورت زیر در خواهد آمد:

 ALTER PROCEDURE dbo.Code
AS
SET NOCOUNT ON;
SELECT Code as Column1
FROM Customer
 و در آخر دیتا ست خود را اینگونه پر می کنیم:

 foreach (string t in q)
{
using (comm = new SqlCommand(t, Conn))
{
comm.CommandType = CommandType.StoredProcedure;
adepter = new SqlDataAdapter(comm);
adepter.Fill(Ds, "Customer");
}
}

 در این برنامه،برای زیبایی و حروف چینی آن،یکسری کارها را باید انجام دهید:

در دستورات SP خود از Where استفاده کنید.طوری فیلد ها را نمایش دهید که record ها در جای مناسبشان قرار گیرند.پیروز باشید.

----------


## tto_baran

سلام دوستان ،  كم كم  فكر كنم  وقت آن رسيده   كه با هم   وارد  سطح با  لا تري   از  مرور  كارايي هاي  كريستال  ريپورت  شويم   در  چند روز اينده  سعي  خواهم  كرد  مقاله     يا  هرچيز  ديگر  كه  شما   روش  اسم بگذاريد   تايپ  كنم و در  اختيار  دوستان  قرار  دهم  با اين  تفاوت كه   از  نظر  سطح  علمي  و  كاربردي  به  مراتب  فراتر  از  انچه  باشد  كه  تا كنون  (در  مطالب  اوليه  همين  تاپيك) گفته ام   بعلت وقت كم  شايد  حروف چيني  و تايپ آن چند روزي  طول بكشد  . ولي  مطمئن باشيد      حد اكثر  تا  يك هفته ديگر  آن را تهيه  و در اختيار  شما قرار  خواهم داد  ولي  لازمه  فرا گيري  مطالب آينده   اين است كه  مطالب  اوليه را فرا گرفته باشيد . بنا بر اين اگر فايل هاي اوليه همين تاپيك را  دريافت  نكرده ايد آن را دريافت نماييد .

----------


## akbar_online

> سلام   دوستان 
> 
> بالا خره  موفق  شدم  فايل  پي  دي  اف    آموزش  كريستال ريپورت   را  يه  جاي  ديگه آپلود  كنم  خوب  متاسفانه  حجمش  زياد  بود  و  بصورت  فايل  ضميمه  نمي  توانستم   آن را در  ا اختيار  شما  قرار   دهم   به  همين  دليل    ميتوانيد  آن را از  لينك زير  داونلود  نماييد 
> 
> 
> مطمئن باشيد   اين فايل  پي  دي اف است 
> 
> 
> 
> ...


اگر کسی این فایل داره بذاره لینکش خراب شده :افسرده:

----------


## Hesamzadeh

> سلام دوستان ،  كم كم  فكر كنم  وقت آن رسيده   كه با هم   وارد  سطح با  لا تري   از  مرور  كارايي هاي  كريستال  ريپورت  شويم ... .


  دوست گرامی ما همچنان منتظر مقاله دوم شما هستیم ضمن اینکه لینک اول شما هم خراب شده.
در صورت امکان آنرا برای من بفرستید: public.hesam@gmail.com

----------


## misoft.ir

Mirzaei.6611392@gmail.com
لطفا برای بنده هم بفرستید

----------


## YOUCOMCO

در مورد کریستال منم اولش فکر میکردم که خیلی سخته. مخصوصا اینکه با یه پنجره پر از آیکون طرف بودم. اگر میخواید تو کریستال استاد بشید فقط باید اونو *ساده یاد بگیرید.* من بعد از حدود 1000 ت کریستالی که ساختم فهمیدم.

----------


## akbar_online

لینک فایل خرابه

----------


## sedigh_zarei

سلام اگه مي توني برا من هم بفرست  
                                                                   ممنون
sedigh_zarei@yahoo.com

----------


## shina jun

سلام دوست عزیز من نمیتونم لینکهایی که برای کریستال رکورد قرار دادی باز کنم وخیلی مشتاقم اون بخونم میشه برام میل کنی 
واقعا ممنون
misb_86@yahoo.com

----------


## tto_baran

سلام دوستان 

شرمنده ام  شرمنده ام   شرمنده ام

نميدونم با چه زبوني  بگم   متاسفانه   يه مدت  امكان  فعاليت نداشتم     از اين پس در خدمتم    و  لينكها را هم انشاالله  درست ميكنم      از همه دوستان    ممنونم  كه لطف كردند و پيام  فرستادند   حتما  مقاله دوم را  هم  خواهم  گذاشت  .

----------


## amir.net

لينك فايله هنوز خرابه و كار نميكنه 

لطفا !!!

----------


## amir.net

اين فيلدهاي روي گزارش كريستال ريپورت را چطوري ميشه قبل از نمايش دستكاري كرد؟

----------


## shima_85

میشه لینک مقاله ی اولو یه بار دیگه بذارید.لینکش کار نمیکنه.

----------


## محمدامین شریفی

> میشه لینک مقاله ی اولو یه بار دیگه بذارید.لینکش کار نمیکنه.


در اینجا آموزش مشابه ای گزاشته شده است که فرق چندانی با مقاله این تاپیک ندارد



> اين فيلدهاي روي گزارش كريستال ريپورت را چطوري ميشه قبل از نمايش دستكاري كرد؟


اگر مطالب تاپیک را با دقت مطالعه کنید،متوجه می شوید.

----------


## ali reza mansoori 2

میشه یه لینک برای دانلود Crystal report 10 اینجا بزارین
خیلی ممنون

----------


## juve2008

*سلام
آقا خواهشا ادرس لود فايل رو درست كن ببينين چكار كردي
من تو گزارش گيري مشكل دارم.شايد با خوندن اون درست بشه
دستت درد نكنه..........*

----------


## nader.golab

سلام به دوستان عزیز. برنامه ای درست کردم که روی سیستم خودم مشکلی نداشت ولی حالا که سیستم عامل رو عوض کردم وحتی ستاپش رو سیستم طرف نصب می کنم  پیغام می ده Filed to Open Document از طرف کریستال ریپورت دیزاینر می ده. همه Dll ها نصبه ادرس پویا هم درست دادم. 
نمی دونم چی کار باید بکنم.حتی کیرستال ریپورتم که نصب می کنم این مشکل رو بر طرف نمی کنه ممنون می شم از دوستان اگه این مشکل رو حل کنن.
اینم کدی که نوشتم.

Private Sub Form_Load()


Set crRept = crAPP.OpenReport(App.Path & "\DarS.Rpt")
For Each crDBTab In crRept.Database.Tables
    crDBTab.ConnectionProperties.Item("Data Source") = App.Path & "\data\Data.bit"
    crDBTab.ConnectionProperties.Item("Jet DataBase Password") = "585858"
Next
CrystalReport.ReportSource = crRept
CrystalReport.ViewReport
crRept.DiscardSavedData

End Subولی این خطا رو از این کدش می گیره و می گه نمی تونی Set  کنی

Set crRept = crAPP.OpenReport(App.Path & "\DarS.Rpt")

----------


## rasoul_zamani_13666

سلام دوستان
من هم آموزش اولي رو نتونستن دان كنم آخه آپلودد هم سايته
متشكر مي شم كسي برام بفرسته
Rasoul.zamani@gmail.com

----------


## tto_baran

دوستان    سلام  متاسفانه    محلي كه  مقاله را  آپلود كرده  بودم  ديگر  وجود  ندارد ( اين  هم از  درد سر هاي آپلود سنتر هاي رايگان )  جالب  اين كه اصل  مقاله را  هم     از دست داده ام   خواهش    ميكنم از  دوستان  هركس   دانلود  كرده  دوباره   لينك  كنه  تا ساير  ين هم استفاده كنند  .

----------


## mohsen_nematollahi

سلام 

آموزش کریستال ریپورت لینکش خرابه لطفا واسه منم ایمیل کن دمت گرم عزیز
mohsen8295@gmail.com

----------


## parvinsamani

سلام دوست عزیز 
اگر امکانش هست فایل آموزش کرستال ریپورت را برای من ایمیل کنید 
این لینک ها جواب نمیدهد
با تشکر parvin575@yahoo.com

----------


## amir.net

چه جوري متون حاوي تگهاي HTML در كريستال ريپورت نمايش بدهيم

----------

