PDA

View Full Version : گزارش چندتایی با stimulsoft.report



mtsoft
چهارشنبه 20 شهریور 1392, 13:32 عصر
سلام
من از stimulsoft.report در برنامم واسه چاپ گزارشات استفاده میکنم حالا میخواستم ببینم اگه بخوام توسط این نرم افزار تو برنامم فیش حقوقی 20 تا کارمند رو پشت سر هم پرینت بگیرم باید چی کار کنم ایا باید از حلقه استفاده کنم یا خود این نرم افزار قابلیت داره تا چند گزارش رو تو یه viewer نشون بده یا چاپ بکنه.

NasimBamdad
چهارشنبه 20 شهریور 1392, 14:52 عصر
سوال خیلی خوبیه ! منم درگیرشم .

به صورتی که مثلا اگه بدون نیاز به تایید کاربر ، گزارشات رو برای چاپ بفرسته و Print کنه ! ؟

sohil_ww
چهارشنبه 20 شهریور 1392, 15:02 عصر
قابلیتشو داره برای مثال شما میای از یک دیتا ست می فرستی به گزارشت .فیلد های گزارشتو از یک دیتا باند استفاده می کنی ،
البته این برداشتم بود

setareh masompoor
چهارشنبه 20 شهریور 1392, 15:33 عصر
دقیقا
تمامی اطلاعاتتو میفرستی تو یه دیتا ست و بعد اون دیتا ست رو پاس میدی به استیمول
بقیه طراحی ها و تنظیمات رو باید تو استیمول انجام بدی.
خیلی راحته
بازم اگه سوال داشتی بپرس

setareh masompoor
چهارشنبه 20 شهریور 1392, 15:34 عصر
سوال خیلی خوبیه ! منم درگیرشم .

به صورتی که مثلا اگه بدون نیاز به تایید کاربر ، گزارشات رو برای چاپ بفرسته و Print کنه ! ؟

این بستگی به خودت داره که چه جوری فراخوانی کنی
میتونی حالت design رو باز کنی و به کاربر اجازه بدی خودش نحوه چیدن فلدها رو تنظیم کنه
میتونی حالت preview نمایش بدی و در صورت تایید کاربر print شه
میتونی حالت print مستقیم بهش بدی

mtsoft
چهارشنبه 20 شهریور 1392, 16:08 عصر
مرسی از راهنمایی های تمامی دوستان
ولی فکر کنم گزینه دیتاست از همه بهتر باشه حالا اگه لطف کنید بگید چه جوری باید تنظیمات رو تو خود استیمول انجام بدم یعنی همین که دیتاست رو پاس بدم کافیه خودش به تعداد جدول های تو دیتا ست گزارش تهیه میکنه یا تنظیم خاصی داره.

khokhan
چهارشنبه 20 شهریور 1392, 17:36 عصر
مرسی از راهنمایی های تمامی دوستان
ولی فکر کنم گزینه دیتاست از همه بهتر باشه حالا اگه لطف کنید بگید چه جوری باید تنظیمات رو تو خود استیمول انجام بدم یعنی همین که دیتاست رو پاس بدم کافیه خودش به تعداد جدول های تو دیتا ست گزارش تهیه میکنه یا تنظیم خاصی داره.

.................................................: لبخند:


private void button1_Click(object sender, EventArgs e)
{

DataTable dt = new DataTable();
dt.Columns.Add("column1", typeof(string));
dt.Columns.Add("column2", typeof(string));
dt.Columns.Add("column3", typeof(string));
foreach (DataGridViewRow dgvR in dataGridView1.Rows)
{
if (Convert.ToBoolean(dgvR.Cells["mahvash"].Value) == true)
{
dt.Rows.Add(dgvR.Cells[1].Value, dgvR.Cells[2].Value, dgvR.Cells[3].Value);
}
}
DataSet ds = new DataSet();
ds.Tables.Add(dt);
Stimulsoft.Report.StiReport stiReport1 = new Stimulsoft.Report.StiReport();
stiReport1.Load(System.Windows.Forms.Application.S tartupPath + @"\stirpt.mrt");
stiReport1.RegData(dt);
stiReport1.Compile();
stiReport1.Design();
stiReport1.Show();
}

shahryari
چهارشنبه 20 شهریور 1392, 18:44 عصر
یک شی databand به گزارشتان اضافه کنید و مقدارها دیتا ست را آبجکت مربوطه بایند کنید
در این تصویر در هر برگ آ4 دوتا فیش جا میگیره و اگر 50 کارمند داشته باشید در 25 برگ در کسری از ثانیه براتون چاپ میکنه :لبخند:

110480
http://barnamenevis.org/images/misc/pencil.png

mtsoft
پنج شنبه 21 شهریور 1392, 12:38 عصر
ببخشید میشه بیشتر توضیخ بدین
اخه دیتاباند فقط به تیبل باند میشه نه دیتا ست بعدشم من چه جوری میتونم اطلاعات 50 کارمند رو به گزارش پاس بدم .منظورم اینه که خود استیمول سافت چه جوری اطلاعات 50 کارمند رو به صورت خودکار و پشت سرهم پرینت میگیره؟

salehsam
جمعه 18 بهمن 1392, 22:11 عصر
دوسنات ممکنه با EF توضح بدین چجوری این کار رو انجام بدم؟
ممنون

vb341
شنبه 19 بهمن 1392, 00:13 صبح
شما یا برای برنامتون وقتیکه گزارش رو میگیرین شرط گذاشتین که فقط فیش مربوط به شرط شما رو نمایش میده .
ولی اگر شرطی در کار نباشه دیگه ربطی به تعداد پرسنل نداره

fakhravari
شنبه 19 بهمن 1392, 19:52 عصر
عزیز دلان.
قالب طراحی کنید به ازای هر رکورد یک بار پرینت میشه

salehsam
شنبه 19 بهمن 1392, 21:37 عصر
هر کاری میکنم درست گزارش درست ایجاد نمیشه!!!
من یه چیزی شبیه به این رو میخوام
در ضمن داده ها از سه جدول فراخوانی میشن
جدول افراد
جدول واسطه
جدول دوره

fakhravari
دوشنبه 21 بهمن 1392, 15:19 عصر
http://www.stimulsoft.com/en/videos?tags=net,masterdetail

Mani_rf
دوشنبه 21 بهمن 1392, 15:51 عصر
برای این کار باید از Group استفاده کنی. توی Demo شاخه Reports With Groups رو ببین کاملا توضیح داده ، بسیار هم کار راحتیه.
قسمت شخص رو میگذاری توی Group و اطلاعات زور اون رو هم توی Dataset، بعد هم به هم مرتبطشون میکنی.

vb341
سه شنبه 22 بهمن 1392, 22:58 عصر
عزیز دلان.
قالب طراحی کنید به ازای هر رکورد یک بار پرینت میشه
میشه بیشتر توضیح بدین

khokhan
جمعه 25 بهمن 1392, 09:35 صبح
هر کاری میکنم درست گزارش درست ایجاد نمیشه!!!
من یه چیزی شبیه به این رو میخوام
در ضمن داده ها از سه جدول فراخوانی میشن
جدول افراد
جدول واسطه
جدول دوره
ابتداسعی می کنین هردوجدول روداخل یه دیتاست واحد ، به گزارش ارسال کنین ،حالاهر جورکه دوست دارین چون روشهای زیادی وجودداره
من یه دیتاست به پروژه اضافه نمودم ونتایج کوئری هاروتوی این دیتاست ریخته وبه گزارش ارسال کردم:

Stimulsoft.Report.StiReport stiReport1 = new Stimulsoft.Report.StiReport();
stiReport1.Load("Report.mrt");
DataSet ds = new DataSet1();
DataSet1.tbl_per_doreDataTable tb = new DataSet1.tbl_per_doreDataTable();
DataSet1.tbl_personDataTable tb1 = new DataSet1.tbl_personDataTable();
var result = (from n in db.tbl_per_dore

select n).ToList();
foreach (tbl_per_dore item in result)
{
tb.Rows.Add(item.id, item.per_id, item.per_dore_user, item.dore_subject, item.dore_startdate, item.dore_enddate, item.dore_registerdate, item.dore_money, item.dore_money_value);
}
var person = (from n in db.tbl_person

select n).ToList();
foreach (tbl_person item in person)
{
tb1.Rows.Add(item.id, item.per_id, item.per_fname, item.per_lname, item.per_nid, item.per_fname, item.per_cid, item.per_birthdate,item.per_gender);
}
ds.Tables.Add(tb1);
ds.Tables.Add(tb);
stiReport1.RegData( ds);

try
{
stiReport1.Design();
stiReport1.Show();
}
catch { }
}

درسمت گزارش هم به شیوه master /detail دوتا جدول رو ارتباطدادمونتیجه این شد

116725

systam
جمعه 25 بهمن 1392, 10:52 صبح
سلام

var result = (from n in db.tbl_per_dore

select n).ToList();
در باره این خط دادا یکم توضیح بده

khokhan
جمعه 25 بهمن 1392, 13:27 عصر
سلام

در باره این خط دادا یکم توضیح بده

خب این یه خط کوئری ازجدول دوم هست دیگه:لبخند:

ashkan_as
شنبه 26 بهمن 1392, 00:41 صبح
میشه این کار رو برای کریستال ریپورت توضیح بدید ؟