میخواهیم
از یک لیست در گزارش خود استفاده کنیم؛ بطور مثال وقتی در LINQ از دستور ToList استفاده میکنیم و میخواهیم آنرا بصورت مستقیم به Stimul بفرستیم. فرض بر این
است که شما DLLهای Stimul را به پروژه اضافه کرده اید و آماده گزارشگیری
هستید.
مثلا مدلی در Entity FrameWork با نام base_CenterType
public class base_CenterType
{
public int ID { get; set; }
public string Title { get; set; }
public string Dsc { get; set; }
}
و متدی بصورت ذیل:
public IList<base_CenterType> GetAll()
{
return _base_CenterType.ToList();
}
طراحی گزارش
برای این لیست به این صورت است:
1- اضافه کردن StiWebReport به فرم به نام StiWebReport1
2- با کلیک بر روی فلش
سمت راست و بالای StiWebReport1 و انتخاب Design Report، وارد قسمت طراحی میشویم:
3-
با راست کلیک بر روی Business Object و انتخاب New Business Object پنجره مربوطه باز میشود:
4-
بعد از زدن OK پنجره
زیر باز خواهد شد که باید در کادر Name نام Business Object را انتخاب کنیم که برای خوانایی بهتر است همان نام کلاس را برای
آن انتخاب کنیم. چون Category نداریم پس باید کادر آن خالی
بماند.
در قسمت Columns باید ستونهای هم نام و هم نوع
با خواص کلاس base_CenterType را ایجاد کنیم.
و نهایتا Business Objectی به نام base_CenterType با سه ستون
ایجاد خواهد شد.
حال میتوانید ستونهای مورد نظر را در گزارش بکار
ببرید.
با فرض اینکه گزارش را طراحی کرده و آنرا در ریشه درایو C ذخیره کردهاید، از قطعه کد زیر برای ارسال لیست به گزارش و نمایش آن استفاده میکنیم.
StiReport mainreport = new StiReport();
mainreport.RegBusinessObject("base_CenterType", base_CenterTypeService.GetAll());
mainreport.Load("C:\\StiWebReport2.mrt");
mainreport.Show();