PDA

View Full Version : ارسال لیست به استیمول ریپورت



Mansoor92
سه شنبه 08 مهر 1393, 16:52 عصر
سلام

من دارم یک برنامه مینویسم که توش از دیتابیس استفاده نشده و فقط اطلاعات بصورت لحظه ای داخل یک لیست ذخیره میشن حالا اگر بخوام کل اون لیست رو داخل استیمول بیارم و پرینت بگیرم باید چیکار کنم ؟؟
با استفاده از کدهای معمولی فقط ردیف اول رو وارد استیمول برای پرینت میکنه

مثلا میخوام طوری بشه که مثل یک فاکتور که شامل ده ردیف هست لیست من هم که شامل ده ردیفه همرو پرینت بگیره

ممنون میشم راهنمایی کنید

یاعلی

khokhan
سه شنبه 08 مهر 1393, 18:40 عصر
سلام

من دارم یک برنامه مینویسم که توش از دیتابیس استفاده نشده و فقط اطلاعات بصورت لحظه ای داخل یک لیست ذخیره میشن حالا اگر بخوام کل اون لیست رو داخل استیمول بیارم و پرینت بگیرم باید چیکار کنم ؟؟
با استفاده از کدهای معمولی فقط ردیف اول رو وارد استیمول برای پرینت میکنه

مثلا میخوام طوری بشه که مثل یک فاکتور که شامل ده ردیف هست لیست من هم که شامل ده ردیفه همرو پرینت بگیره

ممنون میشم راهنمایی کنید

یاعلی

یه کلاس از متغیرهای لازم برای ارسالها :

class Student
{
public Student(string Code, string Name, DateTime BirthDate)
{
this.Code = Code;
this.Name = Name;
this.BirthDate = BirthDate;
}

public string Code { set; get; }
public string Name { set; get; }
public DateTime BirthDate { set; get; }
public int Age
{
get
{
int now = DateTime.Now.Year;
int birth = BirthDate.Year;

return now - birth;
}
}
}

یه لیست با توجه به متغیرهای موجود در کلاس :

List<Student> GetStudentList()
{
Student s1 = new Student("1000001", "اشکان دلیر", DateTime.Parse("1989/7/17"));
Student s2 = new Student("1000002", "پرویز پرتو", DateTime.Parse("1989/7/17"));
Student s3 = new Student("1000003", "رحمان مرادی", DateTime.Parse("1989/7/17"));
Student s4 = new Student("1000004", "رحیم خلج", DateTime.Parse("1989/7/17"));
Student s5 = new Student("1000005", "بهرام طوسی", DateTime.Parse("1989/7/17"));

return new List<Student>() { s1, s2, s3, s4, s5 };
}

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

private void button2_Click(object sender, EventArgs e)
{

Stimulsoft.Report.StiReport stiReport1 = new Stimulsoft.Report.StiReport();
stiReport1.Load(System.Windows.Forms.Application.S tartupPath + @"\Report1.mrt");
var result = GetStudentList();

stiReport1.RegBusinessObject("Section", result);

stiReport1.Design();
stiReport1.Show();
}

Mansoor92
سه شنبه 08 مهر 1393, 18:49 عصر
خیلی خیلی ممنونم که جواب دادید
این Section چی هست؟
و اینکه توی فایل ریپورت باید دیتاسورس رو بیزینس آبجکت بسازم؟
ممنونم.

khokhan
سه شنبه 08 مهر 1393, 19:01 عصر
خیلی خیلی ممنونم که جواب دادید
این Section چی هست؟
و اینکه توی فایل ریپورت باید دیتاسورس رو بیزینس آبجکت بسازم؟
ممنونم.
یه فایل خالی گزارش توی مسیر root یا همون دیباگ پروژه قرار بده به نام Report1.mrt بعد کدها رو توی پروژه خودت ست کن همین که اجرا گرفتی و دگمه گزارش رو زدی

ابتدا وارد محیط دیزاین می شی همونجا توی دیکشنری گزارش خواهی دید که در قسمت BusinessObject یه آبجکت حاوی 4 فیلد به نام Section ایجاد شده

همونو بگیر بنداز توی صفحه گزارش و گزارش رو ذخیره کن و محیط دیزاین رو که ببندی گزارش خود به خود نشون داده می شه

نتونستی بگو نمونه رو برات ارسال کنم