Jeśli trzeba od początku, rozważyć trzeba dane DataGridView drukowania pokazać w Crystelreport pomocą XML
**(This is very helpful if you not using any database)**
- najpierw dokonać tabeli danych
- Następnie dodać dane do tabeli danych (tutaj dodać z DataGridview)
- Utworzenie pliku XML
- Raport o uruchomieniu
Oto Przykładowy kod
DataTable dt = new DataTable();
dt.Columns.Add("Item_Id", typeof(string));
dt.Columns.Add("Categry", typeof(string));
dt.Columns.Add("Item_Name", typeof(string));
dt.Columns.Add("Unit_Price", typeof(double));
dt.Columns.Add("Quantity", typeof(int));
dt.Columns.Add("Discount", typeof(string));
dt.Columns.Add("Total_Payable", typeof(double));
foreach (DataGridViewRow dgr in DGVsell.Rows)
{
dt.Rows.Add(dgr.Cells[0].Value, dgr.Cells[1].Value, dgr.Cells[2].Value, dgr.Cells[3].Value, dgr.Cells[4].Value, dgr.Cells[5].Value, dgr.Cells[6].Value);
}
ds.Tables.Add(dt);
ds.WriteXmlSchema("Bill.xml");
uwaga W przypadku dokonania zmiany XML miał błąd app.config jak plik śledzić
<?xml version="1.0" encoding="utf-8"?>
<configuration>
</startup>-->
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
Po Maked pliku xml, możesz zadzwonić do Raport Crystel
frmreport obj = new frmreport(); //load report viwer form
obj.ShowDialog();
w raporcie viwer
crBill cr = new crBill();
cr.SetDataSource(frmSell.ds);
crystalReportViewer1.ReportSource = cr;
crystalReportViewer1.RefreshReport();
crystalReportViewer1.Refresh();
mógłbyś pisać kod ładuje raport z XML? – Urik
@Urik: Nie ma kodu. Raport jest powiązany z plikiem XML. –
Ale czy nie używasz czegoś takiego jak rpt.Database.Tables [0] .SetDataSource (ds_xml); ? – Urik