2013-12-10 3 views
-1

У меня есть следующий список, который я создаю от чтения через значения DataGridViewСоздание Crystal Report Dataset/Таблицы

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.

Как создать отчет о кристалле, содержащий элементы списка, которые являются наименованием, количеством, ценой единицы, налогом, суммой и т. Д. Образуют список - 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); 
+0

Должен ли я отредактировать или поставить ответ ниже? –

+0

Всегда полезно редактировать свои вопросы, когда вам нужно их улучшить. –

ответ

1

Вы можете использовать класс .NET в качестве источника данных для Crystal Reports. Когда вы добавляете Crystal Report, он предоставит вам выбор для объекта ADO.Net или .Net в качестве источника данных. Вы хотите выбрать объект .Net как источник данных. Он должен отображать все классы в вашем проекте. Вы просто выберите класс, который хотите использовать, и установите его как источник данных. Свойства класса должны быть перечислены, и оттуда вы можете выбрать необходимые поля для своего отчета. Помните, я не пробовал, но концептуально это должно сработать. Дайте ему шанс и дайте мне знать, как это происходит. Если у вас возникнут проблемы, мне придется создать образец проекта для его проверки.

+0

Спасибо за ответ. Мои данные не поступают из любой базы данных. Как я смогу заполнить свой набор данных, который имеет 1 datatable с моим списком выше? –