ممنون بابت راهنماییتون.
کاری که شما فرمودین رو انجام دادم ولی سطر اول دیتاگرید رو نمایش میده.
کاری که انجام دادم رو توضیح میدم ممنون میشم ببینید کجا رو اشتباه رفتم.
در فرم 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 بفرستم؟البته بدون چک باکس.