Как показать данные в crystal report без использования базы данных
Я создаю одно медицинское приложение в этом приложении у меня есть четыре текстовых поля и один datagridview в форме (1) и Crystal report в форме (2)
я передаю данные из формы (1) в форму(2), но когда я запускаю приложение, оно показывает мне исключение, что входная строка не была в правильном формате.Не мог хранить 18 /06 /2016; в столбце количество. Ожидаемый тип-Int32. в ДТ.Строк.Добавить(msktextdate.Текст, txtname.Текст, txtdoctorname.Текст, txtaddress.Текст); эта линия
Столбец количества находится в datagridview, но все же он показывает мне выше ошибку здесь im paste my all form (1) and form (2) code
Что я уже пробовал:
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(); }
Maciej Los
dt.Rows.Add(msktextdate.Text, ...
текст есть текст и ничего больше! Вы должны преобразовать текст в целое число!
CHill60
Ваш первый столбец - "количество" типа int, но вы добавляете текст, который на самом деле является датой ... ДТ. строки.Добавить строку, похоже, не имеет ничего общего с таблицей данных, которую вы пытаетесь заполнить