sara.pazhrang
دوشنبه 01 مرداد 1386, 12:22 عصر
با سلام
من یک فرم گزارشگیری دارم و داخل آن یک crystalReportViewer اضافه کرده ام و یک فرم از نوع rpt ایجاد کرده ام و dataBase آنرا از مسیر wizard به صورت ProjectData\ADO.Net Datasets\CrystalReportExample.Database.CrystalRepo rtExampleDataset یعنی دیتاست پروژه خودم قرار داده ام و یکی از فیلدهای آن دیتاست را برای مشاهده داخل فرم گزارشگیری کشیدم
مشکل1) در فرم rpt در قسمت MainReportView به جای محتویات آن فیلد در جدول کلمات عجیبی مثل Red,Green,... نشان می دهد
مشکل2) درفرم اصلی در قسمتcrystalReportViewer دبل کلیک کردم و کدهای زیر را نوشتم تا محتویات دیتاست در هنگام اجرا نشان داده شود ولی در هنگام اجرا reportform خالی نشان داده می شود البته هر تغییری غیر از فیلدهای جدول در design فرم rpt انجام دهم را نشان می دهد فقط جای فیلدهای بانک خالی است.
namespace crystalReportExample
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void crystalReportViewer1_Load(object sender, EventArgs e)
{
string strcon = "Data Source=" + "ARAYEH4" +
"\\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath +
"\\Database\\crystalReportExample.mdf" +
";Integrated Security=True;Connect Timeout=30;User Instance=True";
string strsql = "Select * From table1";
SqlDataAdapter da =
new SqlDataAdapter(strsql, strcon);
DataSet ds = new DataSet();
da.Fill(ds);
ConnectionInfo conInfo = new ConnectionInfo();
ReportDocument repdoc = new ReportDocument();
conInfo.ServerName = "ARAYEH4";
conInfo.DatabaseName = "crystalReportExample";
string reppath ="E:\\temp\\crystalReportExample\\crystalReportExamp le\\CrystalReport1.rpt";
repdoc.Load(reppath);
repdoc.SetDataSource(ds);
crystalReportViewer1.ReportSource = repdoc;
setLogIn(conInfo, repdoc);
}
private void setLogIn(ConnectionInfo conInfo,ReportDocument repdoc)
{
Tables tables = repdoc.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table table in tables)
{
TableLogOnInfo TbLogonInfo = table.LogOnInfo;
TbLogonInfo.ConnectionInfo = conInfo;
table.ApplyLogOnInfo(TbLogonInfo);
}
}
}
}
من یک فرم گزارشگیری دارم و داخل آن یک crystalReportViewer اضافه کرده ام و یک فرم از نوع rpt ایجاد کرده ام و dataBase آنرا از مسیر wizard به صورت ProjectData\ADO.Net Datasets\CrystalReportExample.Database.CrystalRepo rtExampleDataset یعنی دیتاست پروژه خودم قرار داده ام و یکی از فیلدهای آن دیتاست را برای مشاهده داخل فرم گزارشگیری کشیدم
مشکل1) در فرم rpt در قسمت MainReportView به جای محتویات آن فیلد در جدول کلمات عجیبی مثل Red,Green,... نشان می دهد
مشکل2) درفرم اصلی در قسمتcrystalReportViewer دبل کلیک کردم و کدهای زیر را نوشتم تا محتویات دیتاست در هنگام اجرا نشان داده شود ولی در هنگام اجرا reportform خالی نشان داده می شود البته هر تغییری غیر از فیلدهای جدول در design فرم rpt انجام دهم را نشان می دهد فقط جای فیلدهای بانک خالی است.
namespace crystalReportExample
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void crystalReportViewer1_Load(object sender, EventArgs e)
{
string strcon = "Data Source=" + "ARAYEH4" +
"\\SQLEXPRESS;AttachDbFilename=" + Application.StartupPath +
"\\Database\\crystalReportExample.mdf" +
";Integrated Security=True;Connect Timeout=30;User Instance=True";
string strsql = "Select * From table1";
SqlDataAdapter da =
new SqlDataAdapter(strsql, strcon);
DataSet ds = new DataSet();
da.Fill(ds);
ConnectionInfo conInfo = new ConnectionInfo();
ReportDocument repdoc = new ReportDocument();
conInfo.ServerName = "ARAYEH4";
conInfo.DatabaseName = "crystalReportExample";
string reppath ="E:\\temp\\crystalReportExample\\crystalReportExamp le\\CrystalReport1.rpt";
repdoc.Load(reppath);
repdoc.SetDataSource(ds);
crystalReportViewer1.ReportSource = repdoc;
setLogIn(conInfo, repdoc);
}
private void setLogIn(ConnectionInfo conInfo,ReportDocument repdoc)
{
Tables tables = repdoc.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table table in tables)
{
TableLogOnInfo TbLogonInfo = table.LogOnInfo;
TbLogonInfo.ConnectionInfo = conInfo;
table.ApplyLogOnInfo(TbLogonInfo);
}
}
}
}