PDA

View Full Version : فیلتر کردن گزارش استیمول بر اساس نام خانوادگی



zohre gorji2
شنبه 11 خرداد 1392, 21:47 عصر
باسلام
من میخام با استیمول یه گزارشی بگیرم بر اساس مثلا نام خانوادگی
با Linq هم کار کردم یعنی خودم کوئری شو آماده نوشتم و بر اساس اون فامیل مورد نظر اطلاعات رو فیلتر میکنم اما از اینجا به بعدشو بلد نیستم یعنی نمیدونم حالا چه جوری این کوئری که جواب هست رو برای استیمول بفرستم،نمیدونم این کوئری Linq رو چه جوری ربطش بدم به دیتاست و بفرستم به گزارشم

تو دیزاین استیمول هم همه چیزو آماده کردم اما تو Previwe ش همه رکوردها رو نشون میده یعنی بر اساس اون نام خانوادگی مورد نظر فیلتر نمیشه(یعنی من هیچ دستوری هیچ جا نمینویسم که این عمل فیلتر شدن تو استیمول اعمال بشه)
تمامی تایپیک های مشابه مشکلم رو هم خوندم اما به نتیجه نرسیدم لطفا راهنمائیم کنید ،ممنون میشم

zohre gorji2
شنبه 11 خرداد 1392, 22:52 عصر
ایکاش کسی جواب منو میداد خیلی بش احتیاج دارم:ناراحت:

Himalaya
شنبه 11 خرداد 1392, 23:54 عصر
سلام

با Linq هم کار کردم یعنی خودم کوئری شو آماده نوشتم و بر اساس اون فامیل مورد نظر اطلاعات رو فیلتر میکنم امااطلاعاتی رو که سکلت کردی تو متغیر body قرار بده و گزارش رو تو حالت Design باز کن (با کدای زیر). تو پوشه Debug یه پوشه به اسم Reports درست کن.

var report = new StiReport();
if (File.Exists(Application.StartupPath + "//Reports//Report1.mrt"))
report.Load(Application.StartupPath + "//Reports//Report1.mrt");
report.RegBusinessObject("Info", "Body", body);
report.Design(true);
یزای بار اول که گزارش تو حالت Design باز شد، چون گزارشی با اسم Report1.mrt تو پوشه Reports وجود نداره، پس یه گزارش خالی باز میشه ولی تو بخش Dictionary، دیتایی که از برنامه پاس داده شده وجود داره (همون اطلاعاتی که تو body بودن). طراحی مورد نظرت رو انجام بده و بعد از تموم شدن طراحی، گزارش رو تو مسیری که میبینی و با اسم Report1.mrt سیو کن. از این به بعد چون این فایل وجود داره، پس اول این گزارش لود میشه و بعد دیتا بهش پاس داده میشه
همه چیز که اکی شد، تو خط آخر به جای Design بزن Show و تموم

zohre gorji2
یک شنبه 12 خرداد 1392, 00:11 صبح
ممنون که جواب دادید اما بازم نشد
بنظرتون توی خود استیمول توی دیتا سورس میشه شرط گذاشت؟؟
یعنی یه متغیر تعریف کنم بعد توی کوئری دیتا سورس جلوی where اون variable بذارم:ناراحت:
C:\Users\Admin\Desktop

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

Himalaya
یک شنبه 12 خرداد 1392, 00:26 صبح
تو دیزاین استیمول هم همه چیزو آماده کردم اما تو Previwe ش همه رکوردها رو نشون میده یعنی بر اساس اون نام خانوادگی مورد نظر فیلتر نمیشه(یعنی من هیچ دستوری هیچ جا نمینویسم که این عمل فیلتر شدن تو استیمول اعمال بشه)


ممنون که جواب دادید اما بازم نشد
بنظرتون توی خود استیمول توی دیتا سورس میشه شرط گذاشت؟؟


ممنون که جواب دادید اما بازم نشد
حتی نگفتید چرا نشد. ارور داد، نداد ...

تو مثالهای خود استیمول باید باشه. ولی لازم نیست این کارا تو خود استیمول انجام بشه که.
شما فقط کافیه اطلاعات مورد نظر رو تو برنامه، از بانک بگیرید و تو قالب List پاس بدید به استیمول تا استیمول این اطلاعات فیلتر شده رو فقط نمایش بده همین. مثلا body میتونه این باشه

var body = studentPrograms.Where(c => c.Student.Mobile.StartsWith("0912")).ToList();
ضمنا اگه از ورژن 2009 استیمول استفاده میکنی به جای

report.RegBusinessObject("Info", "Body", body);
از

report.RegData("Body", body);
استفاده کن.

fakhravari
یک شنبه 12 خرداد 1392, 00:31 صبح
با سلام خدمت استاد karaji333 (http://barnamenevis.org/member.php?53563-karaji333) جان
هیچ چیز بهتر فیلم آموزشی نمیتونه به ایشون کمک کنه.چون تازه واردن

http://www.mspsoft.com/1390/12/07/%D8%A7%D9%85%D9%88%D8%B2%D8%B4-%D8%AA%D8%B5%D9%88%D9%8A%D8%B1%D9%8A-%D8%B3%D8%A7%D8%AE%D8%AA-%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4-%D8%AF%D8%B1-stimulsoft/
, سایت مرجع
http://www.stimulsoft.com/en/videos?tags=net

zohre gorji2
یک شنبه 12 خرداد 1392, 00:37 صبح
من بینهایت از شما ممنونم:لبخند:
از بس انواع روشها رو تست کرده بودم و نشده بود تو روش شما ناامیدانه انجام دادم
همون جواب اولتون مشکلمو حل کرد، واقعا دستتون درد نکنه:لبخندساده:

Himalaya
یک شنبه 12 خرداد 1392, 00:39 صبح
سلام

هیچ چیز بهتر فیلم آموزشی نمیتونه به ایشون کمک کنه.چون تازه واردن
کلا 5 خط کد تو پست 3 و 1 خط هم تو پست 5 که میشه 6 خط. احتیاجی به فیلم هم نداره. ضمن اینکه گفته

و دیزاین استیمول هم همه چیزو آماده کردم
و

با Linq هم کار کردم یعنی خودم کوئری شو آماده نوشتم و بر اساس اون فامیل مورد نظر اطلاعات رو فیلتر میکنم
پس قاعدتا باید یه چیزایی بلد باشه