创建Crystal报表数据集/表

时间:2013-12-10 12:25:52

标签: c# visual-studio-2012 datagridview crystal-reports

我通过阅读datagridview的值来创建以下列表

MakePayment makePayment = new MakePayment();

var Result = GridSellProducts.Rows.OfType<DataGridViewRow>().Select(
r => r.Cells.OfType<DataGridViewCell>().Select(c => c.Value).ToArray());

makePayment.gridElements = Result.ToList();

MakePayment是另一种形式,我将有一个按钮,用于支付物品并显示销售收据。我没有将Crystal Reports与Visual Studio一起使用,只有SAP从SQL表中读取数据。

如何创建一个水晶报告,显示List-ItemSalesList中的项目名称,数量,单价,税,总等列表元素?

到目前为止我已尝试过这个:

foreach (var x in ItemSalesElements)
                {
                    ItemSalesList.Add(new ItemSales   <--from makePayment.gridElements
                    {
                        ItemName = x[0].ToString(),
                        Quantity = decimal.Parse(x[1].ToString()),
                        UnitPrice = decimal.Parse(x[2].ToString()),
                        Total = decimal.Parse(x[6].ToString()),
                    });
                }

                ItemSalesData itemSalesData = new ItemSalesData();

                ItemSalesData.ItemSalesTableRow row = itemSalesData.ItemSalesTable.NewItemSalesTableRow();

                foreach (var x in ItemSalesList)
                {
                    row.ItemName = x.ItemName;
                    row.Quantity = x.Quantity;
                    row.UnitPrice = x.UnitPrice;
                    row.Total = x.Total;

                    itemSalesData.ItemSalesTable.Rows.Add(row);
                }

                ItemSalesReport cr = new ItemSalesReport();
                cr.SetDataSource(itemSalesData);

1 个答案:

答案 0 :(得分:1)

您可以将.Net类用作Crystal Reports的数据源。添加Crystal Report时,它将为您提供ADO.Net或.Net对象作为数据源的选择。您可能希望选择.Net对象作为数据源。它应该列出项目中的所有类。您只需选择要使用的类并将其设置为数据源。应列出类的属性,然后从中选择报告的必要字段。 请注意,我没有尝试过这个,但从概念上讲它应该可行。试一试,让我知道它是怎么回事。如果您遇到问题,我将不得不设置一个示例项目进行测试。