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

نام تاپیک: فرستادن یک سطر از دیتاگرید به reportviewer

  1. #1

    فرستادن یک سطر از دیتاگرید به reportviewer

    سلام.

    بدون دیتاگرید،در reportviewer اطلاعات رکورد اول جدول نمایش داده میشود.
    برای اینکه بتونم رکورد دیگری ررو انتخاب کنم،باید در فرم دیگه دیتاگرید ویو بذارم،و با انتخاب یک سطر از اون دیتاگرید اطلاعات اون سطر رو بفرستم به فرمی که report viewer داره.

    چطور میتونم با انتخاب یک سطر از دیتاگریدویو در form1 اطلاعات اون رو به form2 که reportviewer داره بفرستم؟

  2. #2

    نقل قول: فرستادن یک سطر از دیتاگرید به reportviewer

    کاری که من کردم این بود.
    یه فرم با دیتاگرید گذاشتم و یه دکمه.
    برای دکمه این رو نوشتم:

    ssesion f = new ssesion();
    f.seid = dataGridView1.SelectedRows[0].Cells[5].Value.ToString();
    f.ShowDialog();


    و تو فرمی که Report viewer بود این رو :


    private void reportViewer1_Load(object sender, EventArgs e)
    {
    SqlConnection cnc = new SqlConnection(ConfigurationManager.ConnectionStrin gs["c"].ConnectionString);
    cnc.Open();
    string sqlcommand = "SELECT * from session WHERE seid=@seid";
    SqlCommand cmd = new SqlCommand(sqlcommand, cnc);
    DataTable dt = new DataTable();
    dt.Load(cmd.ExecuteReader());
    cmd.ExecuteNonQuery();
    cnc.Close();
    reportViewer1 = dt;

    }


    فقط نمیدونم برای خط آخر چجوری dt رو بریزم تو report viewer !
    اصلا راهی که رفتم درسته؟اگر درسته چطور باید خط آخر رو اصلاح کنم؟
    ممنون میشم راهنمایی کنید.

  3. #3

    نقل قول: فرستادن یک سطر از دیتاگرید به reportviewer

    لطفا راهنمایی کنید.

  4. #4
    کاربر دائمی آواتار khokhan
    تاریخ عضویت
    دی 1388
    محل زندگی
    اسکو
    پست
    2,176

    نقل قول: فرستادن یک سطر از دیتاگرید به reportviewer

    نقل قول نوشته شده توسط Beginner67 مشاهده تاپیک
    لطفا راهنمایی کنید.
    توی فرم گزارش دیگه نمی خواد کوئری بزنی .....
    یعنی همون فرم اولی ردیف یا ردیفهای انتخابی رو بریز داخل یه دیتاتیبل و پاس بده به گزارش و کار گزارش رو توی همون فرم اولی تموم کن
    بعد گزارش رو که آماده کردی به کنترل reportViewer موجود در فرم دوم اختصاص بده و فرم دوم رو show کن

  5. #5
    کاربر دائمی آواتار khokhan
    تاریخ عضویت
    دی 1388
    محل زندگی
    اسکو
    پست
    2,176

    نقل قول: فرستادن یک سطر از دیتاگرید به reportviewer

    بیا این هم نمونه همون چیزی که بالا براتون توضیح دادم ...ردیفهای انتخابی با چک باکس مشخص می شن
    فایل های ضمیمه فایل های ضمیمه

  6. #6

    نقل قول: فرستادن یک سطر از دیتاگرید به reportviewer

    ممنون بابت راهنماییتون.
    کاری که شما فرمودین رو انجام دادم ولی سطر اول دیتاگرید رو نمایش میده.
    کاری که انجام دادم رو توضیح میدم ممنون میشم ببینید کجا رو اشتباه رفتم.

    در فرم list_form دیتاگرید و یه دکمه گذاشتم فقط دیتاگرید رو به صورت دستی پر نکردم.
    جدول رو روی فرم درگ کردم و دیتاگرید خودش رو حذف کردم و یک دیتاگرید جدید به فرم اضافه کردم.(اصلا به صورت دستی کدی ننوشتم و اینکه چک باکس هم نذاشتم،چون نمیخوام چیزی تیک بخوره).

    کدی که توی دکمه گذاشتم اینه :

    private void button1_Click(object sender, EventArgs e)
    {
    ssesion f = new ssesion();
    DataRow datarow = null;
    DataTable dt = new keyriyeDataSet.sessionDataTable();
    foreach (DataGridViewRow rowa in dataGridView1.Rows)
    {
    if (Convert.ToBoolean(rowa.Cells[0].Value) == true)
    {
    datarow = ((DataRowView)rowa.DataBoundItem).Row;
    dt.ImportRow(datarow);
    }
    }
    f.reportViewer1.LocalReport.DataSources.Clear();
    f.reportViewer1.LocalReport.ReportEmbeddedResource = "kheyrie.rtp_sesstion.rdlc";
    Microsoft.Reporting.WinForms.ReportDataSource dataset = new Microsoft.Reporting.WinForms.ReportDataSource("Dat aSet1", dt);
    f.reportViewer1.LocalReport.DataSources.Add(datase t);
    f.reportViewer1.LocalReport.Refresh();
    f.reportViewer1.RefreshReport();
    f.reportViewer1.SetDisplayMode(DisplayMode.PrintLa yout);
    f.ShowDialog();
    }


    و البته این هم کد load همین فرم ک دیتاگرید رو پر میکنه.

    this.sessionTableAdapter.Fill(this.keyriyeDataSet. session);


    در فرم ssestion هم که reportviewer هست این کد :

    private void ssesion_Load(object sender, EventArgs e)
    {

    this.reportViewer1.RefreshReport();
    }


    private void ssesion_FormClosing(object sender, FormClosingEventArgs e)
    {
    reportViewer1.LocalReport.ReleaseSandboxAppDomain( );
    }


    ولی موقع اجرا در فرم ssestion سطر اول دیتاگرید رو نشون میده کاری به اینکه من کدوم سطر رو انتخاب میکنم نداره.

    چطور باید سطر مورد نظرم رو به reportviewer بفرستم؟البته بدون چک باکس.

  7. #7
    کاربر دائمی آواتار khokhan
    تاریخ عضویت
    دی 1388
    محل زندگی
    اسکو
    پست
    2,176

    نقل قول: فرستادن یک سطر از دیتاگرید به reportviewer

    چطور باید سطر مورد نظرم رو به reportviewer بفرستم؟البته بدون چک باکس.
    اگه دقت کنین در آخر حلقه ای که سطر های گرید ویو رو می شمره یه دونه عبارت ، Row هست اونو بایستی بکنی SelectedRows
    در پائین اون سطر هم یه خط کد هست که ردیفهایی که چک باکس شون تیک خورده رو چک می کنه ، اونو هم بردار ...... همین ....

    یعنی با تغییراتی که گفتم بایستی کدهای مربوط به حلقه این شکلی بشه :

    foreach (DataGridViewRow rowa in dataGridView1.SelectedRows)
    {
    //if (Convert.ToBoolean(rowa.Cells[0].Value) == true)
    //{
    datarow = ((DataRowView)rowa.DataBoundItem).Row;
    dt.ImportRow(datarow);
    //}
    }



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

  8. #8

    نقل قول: فرستادن یک سطر از دیتاگرید به reportviewer

    خیلی لطف کردید درست شد.
    ممنونم بابت وقتی که گذاشتید.

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

  1. نمایش چند خط در یک سطر از دیتاگرید
    نوشته شده توسط maryam_f در بخش C#‎‎
    پاسخ: 5
    آخرین پست: چهارشنبه 17 مهر 1387, 21:44 عصر
  2. فرستادن id سطر انتخاب شده در datalist
    نوشته شده توسط mp2009 در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: دوشنبه 02 مهر 1386, 13:11 عصر
  3. سطر اول دیتاگرید
    نوشته شده توسط yavari در بخش VB.NET
    پاسخ: 1
    آخرین پست: پنج شنبه 10 خرداد 1386, 22:38 عصر
  4. حذف یک سطر از دیتاگرید !
    نوشته شده توسط rtech در بخش VB.NET
    پاسخ: 3
    آخرین پست: سه شنبه 04 اردیبهشت 1386, 17:27 عصر
  5. انتخاب یک سطر از دیتاگرید
    نوشته شده توسط babakmsq در بخش VB.NET
    پاسخ: 4
    آخرین پست: دوشنبه 31 مرداد 1384, 08:14 صبح

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

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