نمایش نتایج 1 تا 8 از 8

نام تاپیک: گزارش گیری توسط StimulSoft که داده ها از join در LINQ بدست می آید

  1. #1
    کاربر دائمی آواتار Louai_M
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    شادگان
    پست
    297

    گزارش گیری توسط StimulSoft که داده ها از join در LINQ بدست می آید

    با سلام

    دوستان من کد زیر را دارم

    var query = from r in mydb.tblInvoices
    join a in mydb.tblAddInvoices on r.invoice_ID equals a.invadd_invoiceID
    join s in mydb.tblStores on a.invadd_storeID equals s.store_ID
    join u in mydb.tblUsers on r.invoice_userID equals u.user_ID
    where r.invoice_ID == Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value)
    orderby r.invoice_ID descending
    select new { r.invoice_ID, r.invoice_date, r.invoice_desc, r.invoice_off, r.invoice_tax, u.user_fullname, u.user_address, u.user_tell, s.store_name, a.invadd_price, a.invadd_qulity, a.invadd_stock, a.invadd_sumprice };


    می خوام این چند جدول را به stimul برای چاپ منتقل کنم ولی چطور می تونم اینکار انجام بدم چون stimul با هر بار regData فقط نام یک جدول را دریافت می کنه ومن چند جدول را جوین کردم

    StiReport rep = new StiReport();
    rep.Load(Application.StartupPath + "\\fatcktorprint2.mrt");
    rep.Dictionary.Clear();
    rep.RegData("tblInvoice", query);

    rep.Dictionary.Synchronize();
    //rep.Compile();
    rep.Show();
    آخرین ویرایش به وسیله Mahmoud.Afrad : دوشنبه 10 خرداد 1395 در 00:46 صبح

  2. #2

    نقل قول: گزارش گیری با stimul و linq,join

    دوست عزیز اگه شما بخواهید چندین جدوال جون شدن در استیمول نشان بدید مشکلی نیست وقتی شما دارید اطلاعات رو نمایش میدید در دیتگرید ویو تنها کافی است همون مقادیر که در دیتاگرید ویو نشان میدید رو پاس بدید به سمت استیمول چون شما حتما دارید اطلاعات جون رو در یک دیتاگرید ویو نمایش میدید به همین دلیل در یک جدوال استیمول ریپورت میتونید بیارید و نمایش بدید برای گزارش.
    این دستور من هستش 2 تا جدوال جون کردم ولی در یک ریپورت که در استیمول هستش درست نشان میدم.
     void Prn()
    {
    try
    {
    if (dgv1.CurrentRow == null)
    {
    return;
    }
    DataTable table = new DataTable("DB_Table");
    foreach (DataGridViewColumn column in dgv1.Columns)
    {
    table.Columns.Add(column.Name, typeof(string));
    }
    for (int j = 0; j < dgv1.Rows.Count; j++)
    {
    table.Rows.Add();
    for (int k = 0; k < dgv1.Columns.Count; k++)
    {
    table.Rows[j][k] = dgv1[k, j].Value;
    }
    }
    DataSet ds = new DataSet();
    ds.Tables.Add(table);
    //StiReport stiReport = StiReport.GetReportFromAssembly(@"Rpt\RptFoctorFor oshKala.dll", true);
    StiReport stiReport = new StiReport();
    stiReport.Load(Application.StartupPath + @"..\Report.mrt");
    stiReport.RegData(table);
    StiOptions.Viewer.Windows.ShowPageDesignButton = false;
    StiOptions.Viewer.Windows.ShowOpenButton = false;
    (stiReport.GetComponentByName("TxtDateAndTime") as StiText).Text = "تاريخ و زمان صدور فاکتور : " +
    needCode.TimeFull(DateTime.Now) +
    " - " +
    needCode.dateshort(DateTime.Now);
    (stiReport.GetComponentByName("DetialsFull") as StiText).Text = "نام مشتری : " + TxtNameAndLast.Text +
    " \n" + LblSum.Text + "\n" + "جمع کل بدهی به حروف : " +
    LblSumHorof.Text + " تومان";
    stiReport.Design();
    stiReport.Show();
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message);
    }
    }

  3. #3
    کاربر دائمی آواتار Louai_M
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    شادگان
    پست
    297

    نقل قول: گزارش گیری با stimul و linq,join

    سلام

    ولی من اطلاعات را از دیتاگرید چاپ نمی کنم مثلا کاربر شماره فاکتور وارد می کنه و می خواد چاپش کنه اونوقت چطور؟

    نکته : من از linq استفاده می کنم

  4. #4
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran
    پست
    776

    نقل قول: گزارش گیری با stimul و linq , join

    سلام
    دوست عزیز - شما میتوانید با هر روشی و از هر منبع داده ای و .... ( که میتواند شامل چندین جدول و .... باشد ) اطلاعات مورد نیازگزارشتون را جمع آوری ( مثلا واکشی اطلاعات از دیتابیس ) و بوسیله یک یا چند دیتاتیبل / دیتاست به استیمول ارسال کنید و ...................
    پست شماره 2 نمونه کار خوبی میتونه براتون باشه ( مهم نیست که از دیتاگرید ویو و .... استفاده شده - مهم اینه که اطلاعات مورد نیاز توسط داخل دیتاست ذخیره و به گزارش ارسال شده است )
    آخرین ویرایش به وسیله Mahmoud.Afrad : پنج شنبه 07 اردیبهشت 1396 در 21:15 عصر

  5. #5
    کاربر دائمی آواتار Louai_M
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    شادگان
    پست
    297

    نقل قول: گزارش گیری با stimul و linq , join

    خب الان من چطور میتونم query که با linq نوشتم را داخل دیتاست بیارم؟
    چون با دیتاست مشکلم حل میشه

  6. #6

    نقل قول: گزارش گیری با stimul و linq , join

    اصلا نیازی به استفاده از دیتاتیبل و دیتاست نیست. تقریبا همه گزارش سازها از دیتاسورس از نوع Object میتوانند استفاده کنند.

    مراحل زیر را دنبال کنید:
    1- در برنامه خود، یک کلاس با پراپرتی هایی برای ذخیره مقادیری که جلوی select new نام بردید ایجاد کنید(مثلا نام این کلاس را MyClass میگذاریم)
    2- در گزارش خود،(در هنگام طراحی گزارش) یک دیکشنری از نوع BusinessObject ایجاد کنید و ستونهایی را هم نام و هم نوع پراپرتی های کلاسی که در مرحله قبل ایجاد کرده اید(MyClass) به آن اضافه کنید.
    3- از روی BusinessObject یک جدول(یا هر چیز دیگری) به گزارش اضافه کنید. دقت کنید خاصیت Business Object جدول از بخش Data (در Properties) به آبجکتی که ایجاد کرده اید متصل باشد
    گزارش را ذخیره کنید.
    4- در برنامه در جایی که گزارش را ایجاد میکنید، دیتای آماده شده را با متد RegBusinessObject به گزارش ارسال کرده و گزارش را نمایش دهید.

    https://www.stimulsoft.com/en/docume...ilverlight.htm
    http://www.dotnettips.info/post/1803...%B7-stimulsoft

  7. #7
    کاربر دائمی آواتار Louai_M
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    شادگان
    پست
    297

    نقل قول: گزارش گیری با stimul و linq , join

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    اصلا نیازی به استفاده از دیتاتیبل و دیتاست نیست. تقریبا همه گزارش سازها از دیتاسورس از نوع Object میتوانند استفاده کنند.

    مراحل زیر را دنبال کنید:
    1- در برنامه خود، یک کلاس با پراپرتی هایی برای ذخیره مقادیری که جلوی select new نام بردید ایجاد کنید(مثلا نام این کلاس را MyClass میگذاریم)
    2- در گزارش خود،(در هنگام طراحی گزارش) یک دیکشنری از نوع BusinessObject ایجاد کنید و ستونهایی را هم نام و هم نوع پراپرتی های کلاسی که در مرحله قبل ایجاد کرده اید(MyClass) به آن اضافه کنید.
    3- از روی BusinessObject یک جدول(یا هر چیز دیگری) به گزارش اضافه کنید. دقت کنید خاصیت Business Object جدول از بخش Data (در Properties) به آبجکتی که ایجاد کرده اید متصل باشد
    گزارش را ذخیره کنید.
    4- در برنامه در جایی که گزارش را ایجاد میکنید، دیتای آماده شده را با متد RegBusinessObject به گزارش ارسال کرده و گزارش را نمایش دهید.

    https://www.stimulsoft.com/en/docume...ilverlight.htm
    http://www.dotnettips.info/post/1803...%B7-stimulsoft



    با تشکر
    مشکلم حل شد،

    دقیقا روش شما رو استفاده کردم بدون استفاده از کلاس فقط نتیجه query را درون regbusinessobject ریختم


    var query = (from r in mydb.tblInvoices
    join a in mydb.tblAddInvoices on r.invoice_ID equals a.invadd_invoiceID
    join s in mydb.tblStores on a.invadd_storeID equals s.store_ID
    join u in mydb.tblUsers on r.invoice_userID equals u.user_ID
    where r.invoice_ID == Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value)
    orderby r.invoice_ID descending
    select new { r.invoice_ID, r.invoice_date, r.invoice_desc, r.invoice_off, r.invoice_tax, u.user_fullname, u.user_address, u.user_tell, s.store_name, a.invadd_price, a.invadd_qulity, a.invadd_stock, a.invadd_sumprice }).ToList();

    // show report
    StiReport rep = new StiReport();
    reportfactorClass.factor repfact = new reportfactorClass.factor();
    rep.RegBusinessObject("reportfactorClass",query);
    rep.Load(Application.StartupPath + "\\fatcktorprint.mrt");
    rep.Dictionary.Clear();
    rep.Show();

  8. #8
    کاربر دائمی آواتار Louai_M
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    شادگان
    پست
    297

    نقل قول: گزارش گیری با stimul و linq , join

    خب الان

    جمع را تو stimul می دونم چطوری فقط ضرب، تفریق ، تقسیم چطوری انجام میشن؟

تاپیک های مشابه

  1. پاسخ: 5
    آخرین پست: سه شنبه 02 اردیبهشت 1393, 10:12 صبح
  2. پاسخ: 2
    آخرین پست: سه شنبه 16 مهر 1392, 20:06 عصر
  3. سوال: پر کردن یک Array دوبعدی با آبجکت یک کلاس در حالی که داده ها از یک فایل خوانده می شوند
    نوشته شده توسط inf1000 در بخش Java SE : نگارش استاندارد جاوا
    پاسخ: 2
    آخرین پست: دوشنبه 08 آبان 1391, 19:58 عصر
  4. سوال: به روز رسانی داده ها از دیتاگرید در چند جدول
    نوشته شده توسط sayan در بخش C#‎‎
    پاسخ: 5
    آخرین پست: شنبه 06 شهریور 1389, 17:32 عصر
  5. Import داده ها از Excel در SQL Server2005
    نوشته شده توسط sahar480 در بخش SQL Server
    پاسخ: 2
    آخرین پست: یک شنبه 18 اسفند 1387, 10:28 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •