ورود

View Full Version : سوال: مهم و فوری:ارسال پارامتر به کریستال و وصل کردن آن به بانک از طریق کد



karbar987654321
دوشنبه 27 آبان 1387, 10:30 صبح
سوال در مورد یکی از پستها
.
در مورد یکی از پستها سوال داشتم که خیلی قدیمی بود.آدرس تاپیک مورد سوال من:http://barnamenevis.org/forum/showth...t=68100&page=2 (http://barnamenevis.org/forum/showth...t=68100&page=2)

من این کار رو انجام دادم،یعنی یه StoreProcedure نوشتم که دوتا پارامتر بنام channel_n@ و group_n@ را به عنوان ورودی می گیرد.
در برنامه هم دقیقا آن ها را به صورت زیر مقدار دهی می کنم.


rpt_tolid.SetParameterValue(

"@channel_n",channelname );



rpt_tolid.SetParameterValue(

"@group_n", groupname);


ولی باز هم در هنگام اجرای برنامه پنجره اب باز می شود و مقدار این دو متغیر را می خواهد.

من با c# و کریستال ریپورت کار می کنم.
کریستال ریپورتم رو به یه view تو sql server وصل کردم تو برنامه هم report source رو براش تنظیم کردم.تا اینجا همه چیز درسته و برنامه ی من اجرا می شه و ریپورت مورد نظر منو از بانک میاره و نمایش میده.
من می خوام یه شرط where برای view ام بذارم که توش دوتا متغیر هست که از توی combo box داخل برنامه تامین می شه.یعنی باید از طریق کد اینو بدم.ولی نمیشه و کریستال ریپورت بازم کل view بدون اعمال شرط رو برام میاره.
در آخر من یه StoreProcedure درست کردم و اونو به کریستال وصل کردم که از اون بخونه و دوتا پارامترو همونجوری که بالا گفتم بهش از داخل برنامه پاس کردم ولی باز هم موقع اجرا یه پنجره باز می شه که می گه مقدار دوتا متغیر رو دستی بهش بدم.شما راهی رو میتونید به من پیشنهاد کنید؟
من تمام پستهای اینجارو خوندم ولی چیزی پیدا نکردم.
خواهش می کنم من را راهنمایی نمایید.

karbar987654321
دوشنبه 27 آبان 1387, 11:40 صبح
کسی نیست؟پاسخی نیست؟
من این سوال رو به شکلهای مختلف توی تاپیکها دیدم،مشکل خیلی ها هست،همش هم بی جواب!!!
لطفا اگه کسی می تونه کمک کنه این کارو بکنه.ممنون

شرلوک هلمز
جمعه 01 آذر 1387, 23:48 عصر
شما اگر پروسیجر استفاده کردی واز برنامه به پروسیجر پارامتر فرستادی دیگه لازم نیست در کریستال پارامتر تعریف کنید یک ریپورت جدید بساز وانرا به پروسیجر وصل کن پارامتر را هم داخل ان تعریف نکن تا پنجره ای باز نشود
در ضمن از این دستور میتونی برای ارسال پارامتر استفاده کن من امتحان کردم دیگه هیچ پنجره ای باز نمیشود
crystalReport1.SetParameterValue("parameter1", TextBox1.Text);

khz-web1
چهارشنبه 20 آذر 1387, 01:44 صبح
سوال در مورد یکی از پستها
.
در مورد یکی از پستها سوال داشتم که خیلی قدیمی بود.آدرس تاپیک مورد سوال من:http://barnamenevis.org/forum/showth...t=68100&page=2 (http://barnamenevis.org/forum/showth...t=68100&page=2)

من این کار رو انجام دادم،یعنی یه StoreProcedure نوشتم که دوتا پارامتر بنام channel_n@ و group_n@ را به عنوان ورودی می گیرد.
در برنامه هم دقیقا آن ها را به صورت زیر مقدار دهی می کنم.


rpt_tolid.SetParameterValue(

"@channel_n",channelname );



rpt_tolid.SetParameterValue(

"@group_n", groupname);


ولی باز هم در هنگام اجرای برنامه پنجره اب باز می شود و مقدار این دو متغیر را می خواهد.

من با c# و کریستال ریپورت کار می کنم.
کریستال ریپورتم رو به یه view تو sql server وصل کردم تو برنامه هم report source رو براش تنظیم کردم.تا اینجا همه چیز درسته و برنامه ی من اجرا می شه و ریپورت مورد نظر منو از بانک میاره و نمایش میده.
من می خوام یه شرط where برای view ام بذارم که توش دوتا متغیر هست که از توی combo box داخل برنامه تامین می شه.یعنی باید از طریق کد اینو بدم.ولی نمیشه و کریستال ریپورت بازم کل view بدون اعمال شرط رو برام میاره.
در آخر من یه StoreProcedure درست کردم و اونو به کریستال وصل کردم که از اون بخونه و دوتا پارامترو همونجوری که بالا گفتم بهش از داخل برنامه پاس کردم ولی باز هم موقع اجرا یه پنجره باز می شه که می گه مقدار دوتا متغیر رو دستی بهش بدم.شما راهی رو میتونید به من پیشنهاد کنید؟
من تمام پستهای اینجارو خوندم ولی چیزی پیدا نکردم.
خواهش می کنم من را راهنمایی نمایید.

لینک که مشکل داره....

khz-web1
چهارشنبه 20 آذر 1387, 01:51 صبح
شما اگر پروسیجر استفاده کردی واز برنامه به پروسیجر پارامتر فرستادی دیگه لازم نیست در کریستال پارامتر تعریف کنید یک ریپورت جدید بساز وانرا به پروسیجر وصل کن پارامتر را هم داخل ان تعریف نکن تا پنجره ای باز نشود
در ضمن از این دستور میتونی برای ارسال پارامتر استفاده کن من امتحان کردم دیگه هیچ پنجره ای باز نمیشود
crystalReport1.SetParameterValue("parameter1", TextBox1.Text);

چجوری مقدار این پارامتر رو تو فایل RPT خود بازیابی کنم ؟

شرلوک هلمز
شنبه 30 آذر 1387, 19:16 عصر
اگر میخوای از پارامتر ارسالی در گزارش استفاده کنی که معلومه کافی فیلد را که در کریستال ساختی داخل گزارش بزاری البته میدونی که اول باید در قسمت پارامتر این فیلد را ساخته باشی اگر میخواهی از مقدار ان برای تنظیم استفاده کنی فکر میکنم از قسمت formula بتوانی از مقدارآن برای کد نویسی استفاده کنی اما من تا حالا این کاررا نکردم

marshalsharifi
چهارشنبه 09 بهمن 1387, 19:56 عصر
این بازیا چیه دیگه یه جواب درست بدید

hojjat_gh
چهارشنبه 09 بهمن 1387, 23:22 عصر
با سلام
با کسب اجازه از تمام اساتید
دوست عزیز با توجه به اینکه موضوع ریپورت برا پروزمون فوری بود ومن 3 تا 4روز بیشتر رو کریستال کارنکردم
و تونستم به همراه دوستانم یه فاکتور جالب با کریستال طراحی کنیم روش به این شکل بو که تمام فیلدهای متغیری که قرار بود تو فاکتور بیان رو در یه تیبل تعریف کردیم واون فیلدهارو رو ریپورت قراردادیم
و زمانی که کاربر از تو میخواست فاکتور رو پرینت بگیره تمام فیلدهای تیبل اپدیت اپدیت میشن وتمام این کارها ویزاردی انجام شدند(البته تیبل فقط یک رکورد داره و دایما اپدیت میشه)
(البته من این تجربه رو فقط برا تازه کارهایی مثل خودم که زمان کم و اطلاعات کمی راجع به کدها دارند قرار
دادم)