ورود

View Full Version : كريستال ريپورت ساده است حتي ساده تر از Word



tto_baran
سه شنبه 15 اردیبهشت 1388, 07:25 صبح
دوستان عزيز سلام

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

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

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

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

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

majidmjh
سه شنبه 15 اردیبهشت 1388, 11:28 صبح
آقا ما از خدامونه ! ولی چون پست های غیر ضروری حذف می شن , کسی پاسخ ارسال نمی کنه !

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

tto_baran
چهارشنبه 16 اردیبهشت 1388, 17:09 عصر
خوب دوستان عزيز اين هم آموزشي كه گفتم البته بايد بگم كه نظرم عوض شده و بجاي اين كه در پستهاي متوالي آن را بنويسم در يك فايل متني نوشته ام
اميد وار م مفيد واقع شود چون نتوانستم فايل متني را ضميمه كنم لينك آن را اينجا ميگذارم .

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

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

y.saied
چهارشنبه 16 اردیبهشت 1388, 17:53 عصر
سلام
دوست عزيز منتظريم

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

tto_baran
چهارشنبه 16 اردیبهشت 1388, 20:22 عصر
سلام دوستان

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


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



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


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

محمدامین شریفی
چهارشنبه 23 اردیبهشت 1388, 01:02 صبح
مقالتون خیلی قشنگ بود،مهندس رحمانپور

و از اینکه همت کردید و با جمع آوری مطالب مختلف از سایت،مانند:

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


ولی چند نکته است،که این شاگرد بایدعرض کند:

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

پیروز باشید.

tto_baran
جمعه 25 اردیبهشت 1388, 12:42 عصر
با سلام

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

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



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




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


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

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

محمدامین شریفی
جمعه 25 اردیبهشت 1388, 17:59 عصر
دوستمون که گفتند راحت تر از word است.مشکل شما با یک for حل میشه:چشمک:
اینجا (http://www.codeproject.com/KB/cs/Dynamic_Crystal_Report.aspx) را نگاه کن.احتمالا mbt925 یادشان رفته منبع مقالشون رو ذکر کنند.
نمیدانستم آقای بیگلری جای دیگری هم مشغول فعالیت هستند:چشمک:(موفق باشند)

alimanam
چهارشنبه 30 اردیبهشت 1388, 21:19 عصر
با عرض سلام خدمت تمامی دوستان

اول از همه من یادآور بشم که مقاله دوست عزیزمون که زحمت کشیدن و با وقت گذاشتن مقاله آموزشی طراحی کردن متاسفانه ندیدم و نمی دونم چطوریه ولی با دیدن صحبتهای بچه ها 100% باید چیز خوب و جالبی باشه من یه مقاله البته به صورت زبان اصلی دارم که شاید نکاتی رو هرچند ساده ولی کاربردی داره و ممکنه به درد بعضی از دوستان بخوره اینجا آپ کردم (http://alidakhilzadeh.orgfree.com/downloads/CReport.rar) که می تونین ببینین من هم کاملاً با صحبت دوست عزیزمون که فرمودن کریستال ریپورت از ورد آسونتره موافقم چون واقعاً اینگونه است .

یا علی

red11011
پنج شنبه 31 اردیبهشت 1388, 13:48 عصر
خوب دوستان عزيز اين هم آموزشي كه گفتم البته بايد بگم كه نظرم عوض شده و بجاي اين كه در پستهاي متوالي آن را بنويسم در يك فايل متني نوشته ام
اميد وار م مفيد واقع شود چون نتوانستم فايل متني را ضميمه كنم لينك آن را اينجا ميگذارم .

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

در ضمن يك DLL هم به نام شمسي دي ال ال داشتم كه آن را هم ضميمه نموده ام
اميد وارم همانگونه كه بار ها و بارها لطف آن شامل حال من شده است شما هم از آن بتوانيد استفاده هايي ببريد .
سلام
این کتابخانه ای که گزاشتین تو محاسبه و تبدیل تاریخ میلادی به شمسی ایراد داره من قبلا این موضوع رو برای تاریخ های سال 86 تست کردم و محاسبش یک روز اختلاف داره

tto_baran
پنج شنبه 31 اردیبهشت 1388, 19:05 عصر
فكر نكنم چون مطمئنم سالهاي كبيسه را توش لحاظ كرده اند. و من در VB 6 براي خودم برنامه اي ساخته ام كه الا ن حدود سه سال است مرتب و هر روز كار ميكند براي تاريخش از اين كتابخانه استفاده كرده ام تا امروز كه همچين چيزي نديدم

tto_baran
جمعه 01 خرداد 1388, 15:29 عصر
red11011 عزيز و دوستان گرامي پيشنهاد ميكنم مطلب آموزشي زير را مطالعه فرماييد .



http://barnamenevis.org/forum/showthread.php?t=160939

red11011
شنبه 02 خرداد 1388, 09:18 صبح
از این نظر مطمئن باشید که این خطا رو داره من هم مدت یک سال از همین کتابخانه استفاده میکردم
تو بقیه قسمتها هم مشکلی ندیدم اما توی این قسمت تبدیل تاریخ میلادی به شمسی ایراد داره چون با دو تا کتابخانه دیگه تست کردم اونها درست محاسبه میکردن
موفق باشین

محمدامین شریفی
شنبه 02 خرداد 1388, 11:16 صبح
از این نظر مطمئن باشید که این خطا رو داره من هم مدت یک سال از همین کتابخانه استفاده میکردم
تو بقیه قسمتها هم مشکلی ندیدم اما توی این قسمت تبدیل تاریخ میلادی به شمسی ایراد داره چون با دو تا کتابخانه دیگه تست کردم اونها درست محاسبه میکردن
موفق باشین


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=new DateTime(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);

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

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

در پی درخواستی که یکی از بزرگواران داشتند، بنا بر آن شدم که لینک هایی را در این موارد برای شما عزیزان بگزارم:

http://www.barnamenevis.org/forum/showthread.php?t=132880
http://www.barnamenevis.org/forum/showthread.php?t=142431
http://www.barnamenevis.org/forum/showthread.php?t=33592
پیروز باشید

mehrnoosh_al62
سه شنبه 19 خرداد 1388, 10:33 صبح
ولی چند نکته است،که این شاگرد بایدعرض کند:

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

محمدامین شریفی
چهارشنبه 20 خرداد 1388, 21:20 عصر
[/list]سلام
دوست عزیز ممکنه بگید چطور میشه بدون نیاز به ایجاد کانکشن مستقیم توسط ویزارد و با استفاده دیتاست گزارش گرفت.
من کوئری های مورد نظرمو توسط Stored procedure نوشتم و نمیدونم چطور میتونم تو کریستال ازش استفاده کنم. ممکنه کمکم کنید...

ببخشید که بخاطر دانشگاه دیر جواب دادم.
دوست من،اینجا (http://www.pdssoftware.com/newsletter/mar07/page6.htm) را نگاه کن،متوجه می شوی.
بچه ها اگر علاقه مند هستید،ماه دیگه یک کار گروهی انجام دهیم.
مثلا یک نظر سنجی بلادرنگ و یا آمار یک شرکت فرضی را با کریستال ریپورت در asp.net پیاده سازی کنیم.
فکر کنم مورد دوم، ما را بیشتر با اصول اقتصادی یک شرکت آشنا می کند.

پیروز باشید.

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

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


ReportDocument RepDoc = new ReportDocument();
RepDoc.DataDefinition.

بعد از نقطه Datadefinition توابع دلخواهتان را می توانید بگذارید.
در این آموزش (http://aftab.ir/elibrary/item.php?id=2288)کاملا توضیح داده شده است.
اینم آموزش کریستال ریپورت که توسط بچه های برنامه نویس گذاشته شده.(البته خودم ندیدم):

CrsystalReports With SQL 2005.zip‏ (http://barnamenevis.org/forum/attachment.php?attachmentid=20067&d=1215464809)
Crystal Report PersianDate.zip‏ (http://barnamenevis.org/forum/attachment.php?attachmentid=20068&d=1215464809)
Report DataBase in VB.zip‏ (http://barnamenevis.org/forum/attachment.php?attachmentid=19988&d=1215377312)
پیروز باشید.

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

محمدامین شریفی
شنبه 23 خرداد 1388, 21:01 عصر
دوست خوبم از وقتی که میذارید ممنونم. ولی هیچکدوم از این پست هایی که گذاشتید جواب سوال من نبود. فکر میکنم من سوالمو خوب مطرح نکردم...
موضوع سوال ارتباط بین کریستال ریپورت و Stored Procedure بدون استفاده از ویزارد های برنامه هست. و اینکه برای هر Sp باید یک کریستال جدا Add کنم یا اینکه میشه در یک کریستال ریپورت چندین گزارش مجزا داشت؟؟
اگر منظورتان دو جدول در یک گزارش می باشد. اینجا (http://www.barnamenevis.org/forum/showthread.php?t=158828)را ببینید.اگر پرسشتان چیز دیگری است،نمی دانم.
ولی در کل SP ها که در گزارش گیری،بصورت view و یا table استفاده میشوند،از روش بالا قابل استفاده هستند.اصل گزارشگیری بر استفاده از چند جدول نرمال شده می باشد.

پیروز باشید.

mehrnoosh_al62
یک شنبه 24 خرداد 1388, 10:55 صبح
من حدوده 10 Stored Procedure دارم که با هم ارتباطی ندارند. یعنی هر کدام یک گزارش مجزاست.... باید تو برنامم 10 کریستال ریپورت داشته باشم؟؟!!!

محمدامین شریفی
یک شنبه 24 خرداد 1388, 12:30 عصر
من حدوده 10 Stored Procedure دارم که با هم ارتباطی ندارند. یعنی هر کدام یک گزارش مجزاست.... باید تو برنامم 10 کریستال ریپورت داشته باشم؟؟!!!
گرچه دیتابیس شما نرمال نیست، و گزارش گیری شما علمی نمی باشد.ولی اگر شما SP ها را درون Dataset بگزارید،اینکار شدنی است.ولی درصورتی که relationship بین فیلد هایتان وجود نداشته باشد،در حالت visual این خطا را می دهد (http://www.p2p.dotnetsource.com/default.aspx?g=posts&t=7794):
Your current link configuration contains multiple starting points.Please be advised that this is generally not supported
بنابرین به نظر من،چند ReportDocument ایجاد کنید.بهتر است.

پیروز باشید.

mehrnoosh_al62
یک شنبه 24 خرداد 1388, 12:34 عصر
ممنونم
ولی اینکه میگید نرمال نیست یعنی چی؟ خوب برنامه من برنامه انبارداریه و کلی Stored procedure دارم و طبیعتا گزارش های برنامم با استفاده از اوناست....

محمدامین شریفی
یک شنبه 24 خرداد 1388, 14:10 عصر
ممنونم
ولی اینکه میگید نرمال نیست یعنی چی؟ خوب برنامه من برنامه انبارداریه و کلی Stored procedure دارم و طبیعتا گزارش های برنامم با استفاده از اوناست....
اتفاقا در برنامه های انبارداری و حسابداری،نرمال سازی پایگاه داده ها،آسان تر از بقیه پروژه ها می باشد.

طراحی پایگاه داده(مقاله) (http://www.barnamenevis.org/forum/showthread.php?p=731473)

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

mehrnoosh_al62
دوشنبه 25 خرداد 1388, 10:34 صبح
چطور میتونم فیلد ها رو با استفاده از کد به فسمت Details یا Header در کریستال بکشونم؟ نمیخوام دستی این کار رو انجام بدم...
فیلد های مربوط به Stored Procedure...

محمدامین شریفی
دوشنبه 25 خرداد 1388, 18:17 عصر
چطور میتونم فیلد ها رو با استفاده از کد به فسمت Details یا Header در کریستال بکشونم؟ نمیخوام دستی این کار رو انجام بدم...
فیلد های مربوط به Stored Procedure...
درباره پرسش اولتان،به این دلیل که section ها توی کریستال ریپورت readOnly هستند،نمیدانم چگونه باید تغییرشان بدهیم.
درباره پرسش دومتان هم پیشین بحث شد و ربطی به پرسش اولتان ندارد.
با توجه به SP های نامرتبط شما،برای اینکه مجبور نشودید از چند ReportDocument استفاده کنید،باید از روش پاس دادن پارامتر ها استفاده کنید.(این برنامه (http://www.codeproject.com/KB/cs/Dynamic_Crystal_Report.aspx) در تاپیکی دیگر، به عنوان گزارشگیری داینامیک معرفی شده است،به همه دوستان پیشنهاد میکنم،برنامه را ببینند.)

پیروز باشید.

mehrnoosh_al62
سه شنبه 26 خرداد 1388, 09:48 صبح
من این برنامه رو دیدم ولی نمیدونم چطور ازش استفاده کنم... آخه چطور به SP ربطش بدم؟؟؟ ببنید تو این برنامه یه دیتاتیبل تعریف کرده با یه تعداد مشخص فیلد که برابر تعداد فیلدهای جدول بود... و بعد با توجه به فیلد هایی که درخواست میشد انهارو به پارامتر هایی که تعریف کرده بود نسبت میداد...


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

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

محمدامین شریفی
چهارشنبه 27 خرداد 1388, 13:13 عصر
من این برنامه رو دیدم ولی نمیدونم چطور ازش استفاده کنم... آخه چطور به 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,IGN ORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCK S=ON)ON [PRIMARY]
)ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

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


<xs:sequence>
<xs:element name="Column1" msprop:Generator_UserColumnName="Column1" msprop:Generator_ColumnPropNameInRow="Column1" msprop:Generator_ColumnVarNameInTable="columnColumn1" msprop:Generator_ColumnPropNameInTable="Column1Column" type="xs:int" minOccurs="0" />
<xs:element name="Column2" msprop:Generator_UserColumnName="Column2" msprop:Generator_ColumnPropNameInRow="Column2" msprop:Generator_ColumnVarNameInTable="columnColumn2" msprop:Generator_ColumnPropNameInTable="Column2Column" type="xs:string" minOccurs="0" />
<xs:element name="Column4" msprop:Generator_UserColumnName="Column4" msprop:Generator_ColumnPropNameInRow="Column4" msprop:Generator_ColumnVarNameInTable="columnColumn4" msprop:Generator_ColumnPropNameInTable="Column4Column" type="xs:string" minOccurs="0" />
<xs:element name="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
دوشنبه 08 تیر 1388, 08:51 صبح
سلام دوستان ، كم كم فكر كنم وقت آن رسيده كه با هم وارد سطح با لا تري از مرور كارايي هاي كريستال ريپورت شويم در چند روز اينده سعي خواهم كرد مقاله يا هرچيز ديگر كه شما روش اسم بگذاريد تايپ كنم و در اختيار دوستان قرار دهم با اين تفاوت كه از نظر سطح علمي و كاربردي به مراتب فراتر از انچه باشد كه تا كنون (در مطالب اوليه همين تاپيك) گفته ام بعلت وقت كم شايد حروف چيني و تايپ آن چند روزي طول بكشد . ولي مطمئن باشيد حد اكثر تا يك هفته ديگر آن را تهيه و در اختيار شما قرار خواهم داد ولي لازمه فرا گيري مطالب آينده اين است كه مطالب اوليه را فرا گرفته باشيد . بنا بر اين اگر فايل هاي اوليه همين تاپيك را دريافت نكرده ايد آن را دريافت نماييد .

akbar_online
جمعه 13 شهریور 1388, 13:01 عصر
سلام دوستان

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


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



http://upload.iranblog.com/3/1241719300.rar
اگر تونستی برای من هم بفرست akbaramini1362@yahoo.com


اميد وارم مشكل دوستان را حل كنه .
اگر کسی این فایل داره بذاره لینکش خراب شده:افسرده:

Hesamzadeh
جمعه 13 شهریور 1388, 15:51 عصر
سلام دوستان ، كم كم فكر كنم وقت آن رسيده كه با هم وارد سطح با لا تري از مرور كارايي هاي كريستال ريپورت شويم ... .
دوست گرامی ما همچنان منتظر مقاله دوم شما هستیم ضمن اینکه لینک اول شما هم خراب شده.
در صورت امکان آنرا برای من بفرستید: public.hesam@gmail.com

misoft.ir
شنبه 14 شهریور 1388, 02:42 صبح
Mirzaei.6611392@gmail.com
لطفا برای بنده هم بفرستید

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

akbar_online
دوشنبه 16 شهریور 1388, 16:21 عصر
لینک فایل خرابه

sedigh_zarei
سه شنبه 17 شهریور 1388, 11:49 صبح
سلام اگه مي توني برا من هم بفرست
ممنون
sedigh_zarei@yahoo.com

shina jun
سه شنبه 17 شهریور 1388, 12:24 عصر
سلام دوست عزیز من نمیتونم لینکهایی که برای کریستال رکورد قرار دادی باز کنم وخیلی مشتاقم اون بخونم میشه برام میل کنی
واقعا ممنون
misb_86@yahoo.com

tto_baran
جمعه 20 شهریور 1388, 16:25 عصر
سلام دوستان

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

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

amir.net
چهارشنبه 08 مهر 1388, 23:54 عصر
لينك فايله هنوز خرابه و كار نميكنه

لطفا !!!

amir.net
چهارشنبه 08 مهر 1388, 23:55 عصر
اين فيلدهاي روي گزارش كريستال ريپورت را چطوري ميشه قبل از نمايش دستكاري كرد؟

shima_85
پنج شنبه 09 مهر 1388, 10:22 صبح
میشه لینک مقاله ی اولو یه بار دیگه بذارید.لینکش کار نمیکنه.

محمدامین شریفی
شنبه 09 آبان 1388, 11:39 صبح
میشه لینک مقاله ی اولو یه بار دیگه بذارید.لینکش کار نمیکنه.
در اینجا (http://barnamenevis.org/forum/showthread.php?t=25507) آموزش مشابه ای گزاشته شده است که فرق چندانی با مقاله این تاپیک ندارد

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

ali reza mansoori 2
پنج شنبه 14 آبان 1388, 10:53 صبح
میشه یه لینک برای دانلود Crystal report 10 اینجا بزارین
خیلی ممنون

juve2008
چهارشنبه 20 آبان 1388, 18:02 عصر
سلام
آقا خواهشا ادرس لود فايل رو درست كن ببينين چكار كردي
من تو گزارش گيري مشكل دارم.شايد با خوندن اون درست بشه
دستت درد نكنه..........

nader.golab
پنج شنبه 05 آذر 1388, 09:34 صبح
سلام به دوستان عزیز. برنامه ای درست کردم که روی سیستم خودم مشکلی نداشت ولی حالا که سیستم عامل رو عوض کردم وحتی ستاپش رو سیستم طرف نصب می کنم پیغام می ده 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
جمعه 14 آبان 1389, 19:37 عصر
سلام دوستان
من هم آموزش اولي رو نتونستن دان كنم آخه آپلودد هم سايته
متشكر مي شم كسي برام بفرسته
Rasoul.zamani@gmail.com

tto_baran
یک شنبه 30 آبان 1389, 00:13 صبح
دوستان سلام متاسفانه محلي كه مقاله را آپلود كرده بودم ديگر وجود ندارد ( اين هم از درد سر هاي آپلود سنتر هاي رايگان ) جالب اين كه اصل مقاله را هم از دست داده ام خواهش ميكنم از دوستان هركس دانلود كرده دوباره لينك كنه تا ساير ين هم استفاده كنند .

mohsen_nematollahi
شنبه 21 خرداد 1390, 17:30 عصر
سلام

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

parvinsamani
سه شنبه 06 دی 1390, 10:14 صبح
سلام دوست عزیز
اگر امکانش هست فایل آموزش کرستال ریپورت را برای من ایمیل کنید
این لینک ها جواب نمیدهد
با تشکر parvin575@yahoo.com

amir.net
شنبه 22 مهر 1391, 14:00 عصر
چه جوري متون حاوي تگهاي HTML در كريستال ريپورت نمايش بدهيم