如何在不使用数据库的情况下在Crystal报表中显示数据 [英] How to show data in crystal report without using database

查看:117
本文介绍了如何在不使用数据库的情况下在Crystal报表中显示数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在该应用程序中创建了一个医疗应用程序我有四个文本框和一个数据格式视图(1)和Crystal报表(2)



iam传递数据从表单(1)到表单(2)但是当我运行应用程序时,它显示我输入字符串格式不正确的异常.Couldnt存储18/06/2016;在数量列中。预期的类型是Int32。在dt.Rows.Add(msktextdate.Text,txtname.Text,txtdoctorname.Text,txtaddress.Text); 这一行



数量列在datagridview中,但它仍然显示我错误在这里我粘贴我的所有表格(1)和表格(2)代码



我尝试过:



Iam creating one medical application in that application i have four textboxes and one datagridview in form(1) and Crystal report in form(2)

iam passing data from form(1) to form(2) but when i run the application its showing me exception that Input string was not in a correct format.Couldnt store 18 /06 /2016; in Quantity Column. Expected type is Int32. in dt.Rows.Add(msktextdate.Text, txtname.Text, txtdoctorname.Text, txtaddress.Text); this line

Quantity column is in datagridview but still it showing me above error here im paste my all form(1) and form(2) code

What I have tried:

public void createrow()
{
if (dt.Rows.Count <= 0)
{
DataColumn dc1 = new DataColumn("Quantity", typeof(int));
DataColumn dc2 = new DataColumn("Medicine_name", typeof(string));
DataColumn dc3 = new DataColumn("Medicine_cost", typeof(string));
DataColumn dc4 = new DataColumn("Manufacture_Name", typeof(string));
DataColumn dc5 = new DataColumn("Batch_No", typeof(string));
DataColumn dc6 = new DataColumn("Expiry_Date", typeof(DateTime));
DataColumn dc7 = new DataColumn("Rupees", typeof(int));
DataColumn dc8 = new DataColumn("Total", typeof(int));
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
dt.Columns.Add(dc4);
dt.Columns.Add(dc5);
dt.Columns.Add(dc6);
dt.Columns.Add(dc7);
dt.Columns.Add(dc8);
dt.Rows.Add(msktextdate.Text, txtname.Text, txtdoctorname.Text, txtaddress.Text);
dataGridView1.DataSource = dt;
ds.Tables.Add(dt);
}
private void btnadd_Click(object sender, EventArgs e)
{
createrow();
Form2 frm = new Form2();
frm.Show();

} 

public DataSet returndata()
{
return ds;
}
Form2 code :

private void crystalReportViewer1_Load(object sender, EventArgs e)
{
Form2 frm = new Form2();
CrystalReport1 rpt = new CrystalReport1();
Form1 frm1 = new Form1();
DataSet ds = new DataSet();
ds = frm1.returndata();
rpt.SetDataSource(ds.Tables["table1"]);
crystalReportViewer1.ReportSource = rpt;
crystalReportViewer1.Refresh();
}

推荐答案

请从这里开始:

生成没有数据库的Crystal Reports报告 [ ^ ]

C#Crystal Reports without database [ ^ ]

没有数据库连接的Windows应用程序中的Crystal报表 [ ^ ]



正如我在问题评论中所述,你必须转换数据来自将数据从文本框控件添加到datatable时,将字符串转换为正确的数据类型(int,datetime)。怎么做?请检查:如何:将字符串转换为数字(C#编程指南) [< a href =https://msdn.microsoft.com/en-us/library/bb397679.aspxtarget =_ blanktitle =新窗口> ^ ]
Please, start here:
Generate a Crystal Reports report without a database[^]
C# Crystal Reports without database[^]
Crystal Report In Windows Application Without Database Connection[^]

As i stated in the comment to the question, you have to convert data from string to proper data type (int, datetime) when you adding data from textbox control into datatable. How to do that? Please, check: How to: Convert a String to a Number (C# Programming Guide)[^]


这篇关于如何在不使用数据库的情况下在Crystal报表中显示数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆