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

نام تاپیک: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

  1. #1
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

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

  2. #2
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    دادا من میخوام از دیتاگریدویو پرینت بگیرم.

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

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    سلام،
    اینم پرینت از DataGridView
    if (Datagridview1.Rows.Count <= 0)
    {
    MessageBox.Show(". لطفا جهت چاپ اطلاعات مورد نظر را انتخاب نماييد");
    return;
    }

    DataTable DtReport= new DataTable();
    DtReport.Columns.Add("orderNumber", typeof(string));
    DtReport.Columns.Add("orderName", typeof(string));
    DtReport.Columns.Add("address", typeof(string));
    DtReport.Columns.Add("registerDate", typeof(string));

    for (int i = 0; i < Datagridview1.Rows.Count ; i++)
    {
    string[] DGridReport = new string[] {
    Datagridview1.Rows[i].Cells[0].Value.ToString()
    ,Datagridview1.Rows[i].Cells[1].Value.ToString()
    ,Datagridview1.Rows[i].Cells[2].Value.ToString()
    ,Datagridview1.Rows[i].Cells[3].Value.ToString()};

    DtReport.Rows.Add(DGridReport);
    }

    R.FileName = @"Report_Name.rpt";
    DtReport.TableName = "Orders";
    R.SetDataSource(DtReport);

    R.SetParameterValue(0, DateReport);
    PrintPreView P = new PrintPreView();
    P.Crv.ReportSource = R;
    P.MdiParent = this.ParentForm;
    P.Show();
    آخرین ویرایش به وسیله faravaghi : چهارشنبه 06 مهر 1390 در 22:41 عصر

  4. #4
    کاربر دائمی آواتار nilmil_nil
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    بندر گناوه
    سن
    36
    پست
    598

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    سلام
    یه آبجکت Dataset تو پروژه اضاف کن
    بعد یه جدول توش اضاف کن و به تعداد ستون های دیتاگرید توش ستون بذار
    بعد یه نمونه تو برنامه ازش بساز
    و اونو با داده های دیتا گرید ویو پر کن
    بعد برو تو کریستال تو قسمت آبجکت های دات نت خود پروژه
    میبینی که اون دیتاست رو که اد کردی اونجا هستش
    دیگه بقیشو خودتون بلد هستین
    یه نمونه از فرمی که می خواید کریستال توش نشان داده شه و یه نمونه از کریستالی که ساختی و دیتا سورس کریستال رو با دیتاست پر می کنی و دیگه تمام

  5. #5
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    اقا ارور داره؟
    DtReport چیه؟
    آخرین ویرایش به وسیله sobaisobai : چهارشنبه 06 مهر 1390 در 12:38 عصر

  6. #6
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    فقط دوستمون که گفته بود از printdgv استفاده کن،من دارمش فقط نمی دونم چه جوری میشه ازش استفاده کرد؟

  7. #7
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    کسی نیست جواب بده؟

  8. #8
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    خواهشا اگه کسی بلده راهنمایی کنه

  9. #9
    کاربر دائمی آواتار faravaghi
    تاریخ عضویت
    مهر 1388
    محل زندگی
    مشهد
    پست
    233

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    سلام،
    با عرض پوزش کد رو اصلاح کردم.

  10. #10
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    سلام دوباره
    داداش بازم ارور داره
    R چیه؟
    DtReport چیه؟

  11. #11
    کاربر دائمی آواتار faravaghi
    تاریخ عضویت
    مهر 1388
    محل زندگی
    مشهد
    پست
    233

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    سلام دوست گرامی،
    این کد رو من از داخل یکی از پروژه هام کپی کردم. ببخشید.
    اگه مشکل داشت در خدمتم:
    if (Datagridview1.Rows.Count <= 0)
    {
    MessageBox.Show(". لطفا جهت چاپ اطلاعات مورد نظر را انتخاب نماييد");
    return;
    }

    ReportDocument R = new ReportDocument();
    DataTable DtReport = new DataTable();

    DtReport.Columns.Add("orderNumber", typeof(string));
    DtReport.Columns.Add("orderName", typeof(string));
    DtReport.Columns.Add("address", typeof(string));
    DtReport.Columns.Add("registerDate", typeof(string));

    for (int i = 0; i < Datagridview1.Rows.Count ; i++)
    {
    string[] DGridReport = new string[] {
    Datagridview1.Rows[i].Cells[0].Value.ToString()
    ,Datagridview1.Rows[i].Cells[1].Value.ToString()
    ,Datagridview1.Rows[i].Cells[2].Value.ToString()
    ,Datagridview1.Rows[i].Cells[3].Value.ToString()};

    DtReport.Rows.Add(DGridReport);
    }

    R.FileName = @"Report_Name.rpt";
    DtReport.TableName = "Orders";
    R.SetDataSource(DtReport);

    R.SetParameterValue(0, DateReport);
    PrintPreView P = new PrintPreView();
    //Crv = new CrystalDecisions.Windows.Forms.CrystalReportViewer ();
    P.Crv.ReportSource = R;
    P.MdiParent = this.ParentForm;
    P.Show();

    در ضمن این متغیر (PrintPreView) که تعریف کردم یک فرمه که تو اون فقط یک CrystalReportViewer با Modifiers به صورت Public که تو این کد فراخوانی شده.
    DtReport هم یک DataTable است.

  12. #12
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    داداش دمت گرم
    درست شد

  13. #13
    کاربر دائمی آواتار faravaghi
    تاریخ عضویت
    مهر 1388
    محل زندگی
    مشهد
    پست
    233

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    سلام،
    کد رو یک نگاه کردی!
    ReportDocument R = new ReportDocument();

  14. #14
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    کد HTML:
    string[] DGridReport = new string[] {
             [dataGridViewX1.Rows[i].Cells[0].Value.ToString()
            ,dataGridViewX1.Rows[i].Cells[1].Value.ToString()
            ,dataGridViewX1.Rows[i].Cells[2].Value.ToString()
            ,dataGridViewX1.Rows[i].Cells[3].Value.ToString()}
    داداش از این ارور میگیره
    ارور :Object reference not set to an instance of an object.
    آخرین ویرایش به وسیله sobaisobai : چهارشنبه 06 مهر 1390 در 23:24 عصر

  15. #15
    کاربر دائمی آواتار faravaghi
    تاریخ عضویت
    مهر 1388
    محل زندگی
    مشهد
    پست
    233

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    دوباره سلام،
    ببین بذار من یک بار کد رو برات توضیح بدم، بعد ببین چطوریه برو برا خودت تغییر بده.
    این کدی که من گذاشتم این جوریه که اول میاد اطلاعاتی که شما می خوای ببری تو کریستال ریپورت رو از DataGridView میگیره. یعنی میام یک DataTable تعریف میکنم
    DataTable DtReport = new DataTable();

    بعد باید براش ستون تعریف کنی
    DtReport.Columns.Add("orderNumber", typeof(string));
    DtReport.Columns.Add("orderName", typeof(string));
    DtReport.Columns.Add("address", typeof(string));
    DtReport.Columns.Add("registerDate", typeof(string));

    این تعریف ستون بسته به نیاز تغییر میکنه. حتی اسم و نوع ستون ها رو هم می تونید تغییر بدید.
    بعد از این مراحل باید مغادیر دلخواه رو تو یک آرایه از نوع رشته قرار بدیم تا بتونیم این آرایه رو داخل DataTable اضافه کنیم. این کا رو به اندازه تمام رکورد های DataGridView انجام میدیم، یعنی
    for (int i = 0; i < Datagridview1.Rows.Count ; i++)
    {
    string[] DGridReport = new string[] {
    Datagridview1.Rows[i].Cells[0].Value.ToString()
    ,Datagridview1.Rows[i].Cells[1].Value.ToString()
    ,Datagridview1.Rows[i].Cells[2].Value.ToString()
    ,Datagridview1.Rows[i].Cells[3].Value.ToString()};

    DtReport.Rows.Add(DGridReport);
    }

    بعد از این عمل DataSource برای ReportDocument آماده میشه. فقط میمونه بقیه ماجرا که میشه این:
    R.FileName = @"Report_Name.rpt";
    DtReport.TableName = "Orders";
    R.SetDataSource(DtReport);

    زمانی که شما در فرم گزارش پارامتری تعریف کردی که می خوای مقدار دهی کنی از این کد استفاده میشه:
    R.SetParameterValue(0, DateReport);

    مثلا تاریخ برای گزارش. بعدش اومدم فرمی که قراره کاربر به عنوان نمونه اون رو ببینه رو بهش با کد زیر نشون میدم.
    PrintPreView P = new PrintPreView();
    //Crv = new CrystalDecisions.Windows.Forms.CrystalReportViewer ();
    P.Crv.ReportSource = R;
    P.MdiParent = this.ParentForm;
    P.Show();
    در آخر هم باید یادت باشه رکورد های DataTable رو حذف کنی چون اگه کاربر از چاپ منصرف بشه و دوباره دلش بخواد چاپ کنه اطلاعات قبلی به اضافه اطلاعات جدید براش نشون داده میشه که وقتی حذف کنی میشه فقط اطلاعات جدید:
    for (int i = DtReport.Rows.Count - 1; i >= 0; i--)
    {
    DtReport.Rows.RemoveAt(i);
    }

    چیز دیگه هم هست.
    اونم که شما گفتی برای اینه که مقادیر ستون دلخواه رو ببرم تو گزارش. حالا شما اسم DataGridView رو هر چی گذاشتی جایگزین کن یا یه جوری بجای اون بیا مقادیر رو بذار.

  16. #16
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    از توضیحاتت ممنون متوجه شدم
    فقط ارور زیر رو میگیره
    کد HTML:
    string[] DGridReport = new string[] {
             [dataGridViewX1.Rows[i].Cells[0].Value.ToString()
            ,dataGridViewX1.Rows[i].Cells[1].Value.ToString()
            ,dataGridViewX1.Rows[i].Cells[2].Value.ToString()
            ,dataGridViewX1.Rows[i].Cells[3].Value.ToString()}
    ارور :Object reference not set to an instance of an object.

  17. #17
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    مشکل قبلی حل شد حالا از کد زیر ارور میگیره
    کد HTML:
    R.SetDataSource(DtReport);
    Load report failed

  18. #18
    کاربر دائمی آواتار faravaghi
    تاریخ عضویت
    مهر 1388
    محل زندگی
    مشهد
    پست
    233

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    سلام مجدد،
    شما ببین چند تا ستون داری که می خوای چاپ بشه. به همون تعداد در DataTable ایجاد کن و به همون تعداد هم در رشته ای که داری اضافه میکنی.
    دوما بجای 0 و 1 و ... میتونید اسم ردیف در DataGridView رو هم بنویسید، مثلا:
    dataGridViewX1.Rows[i].Cells["DgOrderNum"].Value.ToString()

  19. #19
    کاربر دائمی آواتار faravaghi
    تاریخ عضویت
    مهر 1388
    محل زندگی
    مشهد
    پست
    233

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    سلام،
    شرمنده دیگه میگن سلام سلامتی میاره!
    شما آدرس فایل rpt را باید درست بدین دیگه. هر جا ذخیره شده همون آدرس رو بدین. فقط یادتون باشه آدرس دهی نسبی باشه.
    مثلا اگه تو یک پوشه به نام Report قرار داره این جوری میشه:
    R.FileName = @"Report\CustomerRpt.rpt";

  20. #20
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    WindowsFormsApplication5.part02.rar
    WindowsFormsApplication5.part03.rar
    WindowsFormsApplication5.part04.rar
    WindowsFormsApplication5.part01.rar
    داداش من برنامه ام رو الان اپلود کردم شما زحمت بکش تغییرات رو روش اعمال کن
    اول باید اسم سخت افزار و مدل و تعداد رو تو تکس باکس انتخاب کن بهد دکمه اضافه رو بزن
    دستت درد نکنه

  21. #21
    کاربر دائمی آواتار faravaghi
    تاریخ عضویت
    مهر 1388
    محل زندگی
    مشهد
    پست
    233

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    سلام،
    شما چرا برای این فایل گزارش ایجاد نکردی؟
    می خوای تو چه قالبی اطلاعاتت رو بریزی؟
    در ضمن اون ایرادی که به حلقه For میگیره مال اینه که شما خاصیت Adding رو روی DataGridView فعال کردی بعد اگه یک رکورد اضافه کنی چون یک سطر اضافه ایجاد میکنه و اطلاعاتش NULL است بهت پیغام خطا میده.
    یا بیا این خاصیت رو حذف کن یا در شرط حلقه تعداد سطرهای DataGridView رو یکی ازش کم کن:
    for (int i = 0; i < dataGridViewX1.Rows.Count-1; i++)
    {
    string[] DGridReport = new string[] {
    dataGridViewX1.Rows[i].Cells[0].Value.ToString()
    ,dataGridViewX1.Rows[i].Cells[1].Value.ToString()
    ,dataGridViewX1.Rows[i].Cells[2].Value.ToString()
    ,dataGridViewX1.Rows[i].Cells[3].Value.ToString()
    ,dataGridViewX1.Rows[i].Cells[4].Value.ToString()};
    DtReport.Rows.Add(DGridReport);
    }

    در ضمن این اطلاعات در بانک ذخیره میشه یا نه؟

  22. #22
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    بله داخل بانک ذخیره نمیشه از بانک اطلاعات سخت افزار و مدل و ... میخونه فقط
    خاصیت add دیتا گرید رو غیرفعال کردم
    فایل گزارش رو هم به پروژه اضافه کردم
    حالا از کد زیر ارور میگیره
    کد HTML:
    R.SetDataSource(DtReport);
    The report has no tables

  23. #23
    کاربر دائمی آواتار faravaghi
    تاریخ عضویت
    مهر 1388
    محل زندگی
    مشهد
    پست
    233

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    سلام،
    بیزحمت فایل گزارش رو برام بفرستین

  24. #24
    کاربر دائمی آواتار sobaisobai
    تاریخ عضویت
    آذر 1388
    محل زندگی
    Tehran
    پست
    490

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    سلام
    فقط ادرس فایل رو هم اینو دادم
    کد HTML:
    R.FileName = @"C:\Documents and Settings\Mohammad Amin\My Documents\Visual Studio 2008\Projects\WindowsFormsApplication5\WindowsFormsApplication5\CrystalReport1.rpt";
    فایل های ضمیمه فایل های ضمیمه

  25. #25
    کاربر دائمی آواتار faravaghi
    تاریخ عضویت
    مهر 1388
    محل زندگی
    مشهد
    پست
    233

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    سلام،
    خسته نباشی!!
    خودم بلد بودم یک فایل خالی Report بسازم.
    برات فایل رو ساختم برو خودت اصلاحش کن.
    درضمن تو بانکت یک جدول به نام Report ایجاد کردم و مقادیری رو که قراره تو گزارش چاپ بشه رو تعریف کردم که با استفاده از اون بشه اطلاعات رو پرینت گرفت.
    یه نگاهی هم به کد بندازی بد نیست.
    بقیه اش دیگه صلیقه و خلاقیت خودت رو میطلبه.
    در ضمن اون حذف رکورد های DataTable رو هم حتما به آخر کدت اضافه کن من یادم شد.
    یا حق
    فایل های ضمیمه فایل های ضمیمه

  26. #26
    کاربر دائمی آواتار faravaghi
    تاریخ عضویت
    مهر 1388
    محل زندگی
    مشهد
    پست
    233

    نقل قول: نحوه پرینت دیتا گرید ویو با کریستال ریپورت؟

    سلام دوست گرامی،
    اینم یک PDF برای همین مثال شما.
    اگه وقت داشتی یک نگاه بنداز بد نیست.
    فایل های ضمیمه فایل های ضمیمه

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

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