bahar009
شنبه 07 شهریور 1388, 20:45 عصر
سلام دوستان
یه سوال خیلی خیلی ساده داشتم.من می خوام از چند سطر از دیتا گرید ویو رو که در یک دیتا تیبل ذخیره کردم با کریستال ریپورت گزارش بگیرم.
برای ذخیره اطلاعات مورد نیاز در دیتاتیبل و فرستادن دیتا تیبل یه کریستال ریپورت به این صورت عمل کردم
private void btnPrintSelection_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("");
dt.Columns.Add("");
dt.Columns.Add("");
dt.Columns.Add("");
dt.Columns.Add("");
for (int i = dgvProductionDetails.RowCount - 1; i >= 0; i--)
{
if (!(dgvProductionDetails[7, i].Value == null))
{
if (dgvProductionDetails[7, i].Value.ToString().ToLower() == "true")
{
int col = 1;
string number = dgvProductionDetails[col, i].Value.ToString();
DataRow newrow = dt.NewRow();
newrow[""] = dgvProductionDetails[2, i].Value.ToString();
newrow[""] = dgvProductionDetails[3, i].Value.ToString();
newrow[""] = dgvProductionDetails[4, i].Value.ToString();
newrow[""] = dgvProductionDetails[5, i].Value.ToString();
newrow[""] = dgvProductionDetails[6, i].Value.ToString();
dt.Rows.Add(newrow);
}
}
}
ReportDocument rd1 = new ReportDocument();
rd1.Load(Environment.CurrentDirectory + "\\CrystalReport1.rpt");
rd1.SetDataSource(dt);
Form1 frm3 = new Form1();
frm3.crystalReportViewer1.ReportSource = rd1;
frm3.crystalReportViewer1.Show();
frm3.ShowDialog();
}
ولی چیزی در صفحه نشون نمیده من حدس میزنم چون در هنگام ساخت کریستال ریپورت از قسمت project data و ADO من دیتاست انتخاب کردم اینجوری میشه.
کسی میتونه لطف کنه و به من بگه حالا که از دیتابیس داده نمی خونم در ویزارد باید چیکار کنم؟:افسرده:
یه سوال خیلی خیلی ساده داشتم.من می خوام از چند سطر از دیتا گرید ویو رو که در یک دیتا تیبل ذخیره کردم با کریستال ریپورت گزارش بگیرم.
برای ذخیره اطلاعات مورد نیاز در دیتاتیبل و فرستادن دیتا تیبل یه کریستال ریپورت به این صورت عمل کردم
private void btnPrintSelection_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("");
dt.Columns.Add("");
dt.Columns.Add("");
dt.Columns.Add("");
dt.Columns.Add("");
for (int i = dgvProductionDetails.RowCount - 1; i >= 0; i--)
{
if (!(dgvProductionDetails[7, i].Value == null))
{
if (dgvProductionDetails[7, i].Value.ToString().ToLower() == "true")
{
int col = 1;
string number = dgvProductionDetails[col, i].Value.ToString();
DataRow newrow = dt.NewRow();
newrow[""] = dgvProductionDetails[2, i].Value.ToString();
newrow[""] = dgvProductionDetails[3, i].Value.ToString();
newrow[""] = dgvProductionDetails[4, i].Value.ToString();
newrow[""] = dgvProductionDetails[5, i].Value.ToString();
newrow[""] = dgvProductionDetails[6, i].Value.ToString();
dt.Rows.Add(newrow);
}
}
}
ReportDocument rd1 = new ReportDocument();
rd1.Load(Environment.CurrentDirectory + "\\CrystalReport1.rpt");
rd1.SetDataSource(dt);
Form1 frm3 = new Form1();
frm3.crystalReportViewer1.ReportSource = rd1;
frm3.crystalReportViewer1.Show();
frm3.ShowDialog();
}
ولی چیزی در صفحه نشون نمیده من حدس میزنم چون در هنگام ساخت کریستال ریپورت از قسمت project data و ADO من دیتاست انتخاب کردم اینجوری میشه.
کسی میتونه لطف کنه و به من بگه حالا که از دیتابیس داده نمی خونم در ویزارد باید چیکار کنم؟:افسرده: