ورود

View Full Version : ویزارد کریستال ریپورت



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

viper2009
یک شنبه 08 شهریور 1388, 00:52 صبح
سلام دوستان
یه سوال خیلی خیلی ساده داشتم.من می خوام از چند سطر از دیتا گرید ویو رو که در یک دیتا تیبل ذخیره کردم با کریستال ریپورت گزارش بگیرم.
برای ذخیره اطلاعات مورد نیاز در دیتاتیبل و فرستادن دیتا تیبل یه کریستال ریپورت به این صورت عمل کردم


privatevoid btnPrintSelection_Click(object sender, EventArgs e)
{
DataTable dt = newDataTable();

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 = newReportDocument();
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 من دیتاست انتخاب کردم اینجوری میشه.
کسی میتونه لطف کنه و به من بگه حالا که از دیتابیس داده نمی خونم در ویزارد باید چیکار کنم؟:افسرده:

از ویزاد باید گزینه آخر یعنی انتخاب کانکشن جدید رو انتخاب کنی و بعد با انتخاب گزینه یکی مونده به آخر کانکشن بسازی.

امتحان کن.