打开app.config文件,在“startup”节点一个“useLegacyV2RuntimeActivationPolicy="true"”属性
代码如下:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
在Form1窗体中,从工具箱拖出一个Crystal Report Viewer控件,双击Form窗体,是双击Form窗体,不是Crystal Report Viewer,在后台的Form_Load事件中写入如下代码:
代码如下:
private void Form1_Load(object sender, EventArgs e)
{
string connStr = "Data Source=.\\SqlExpressInitial Catalog=dbTestUser ID=saPassword=test"
SqlConnection conn = new SqlConnection(connStr)
conn.Open()
try
{
string sql = "SELECT * FROM Customer where email!='test@gmail.com'"
SqlDataAdapter sda = new SqlDataAdapter(sql, conn)
DataSet ds = new DataSet()
sda.Fill(ds, "tmpTable")
string reportPath = System.Windows.Forms.Application.StartupPath + @"\CrystalReport1.rpt"
ReportDocument rd = new ReportDocument()
rd.Load(reportPath)
rd.SetDataSource(ds.Tables[0].DefaultView)
this.crystalReportViewer1.ReportSource = rd
}
catch (Exception ex)
{
throw new Exception(ex.Message.ToString())
}
finally
{
conn.Close()
}
}
这样就OK了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)