Scribling Doodle Ответов: 1

Как отобразить отфильтрованные данные в отчете?


Привет,
Я никогда не использовал Crystal Reports, и мне очень интересно, что вы можете с ним сделать. Но мне трудно создавать отчет для одного клиента. Итак, позвольте мне объяснить, что у меня действительно есть и что я хочу, чтобы это было возможно сделать.

Во-первых, у меня есть 2 таблицы, одна из которых касается данных клиента(включая фотографию), а другая-подписки, добавленной к этому клиенту. Если да, то как я могу получить данные клиента по всем параметрам, а затем показать данные подписки относительно этого клиента в том же отчете?

Я никогда не использовал crystal reports, поэтому могу отображать только отдельные наборы данных в Столбцах. Но это не то, чего я хочу. Мне просто нужны данные клиента, такие как (C_ID, Имя, Город, адрес, электронная почта и фотография на параметрах, а также система.DateTime. Now () по другому параметру), а затем под всеми этими данными я хотел бы создать таблицу, чтобы получить значения из таблицы подписки в соответствии с тем же клиентом, выбранным для всех параметров. Я видел 3/4 учебников на youtube, но ни один из них не был слишком явным, заставляя меня понимать меньше, чем я уже знал(твердый 0). Есть идеи, как решить эту проблему?


Мои 2 стола:
[Таблицы]

PS: мне действительно нужны хорошие учебники по этой проблеме, либо статьи, либо видео.

Что я уже пробовал:

Я следовал всем учебникам по передаче текстового поля в параметры, но ни один из них, похоже, не соответствует моим потребностям. Ни один из учебников не связан с получением значений таблицы на основе конкретного значения клиента.

[no name]

Какой тип фильтрации вы хотите использовать в отчетах?

1 Ответов

Рейтинг:
1

Monica Glassford

Из того, что вы написали, Я предполагаю, что у вас мало опыта в подготовке отчетов. Вы упоминаете Crystal Reports, но позвольте мне предложить взглянуть на то, что может сделать для вас старый добрый MS Word. Одна хорошая вещь в MS Word заключается в том, что вы можете подготовить шаблон документа и отформатировать его по мере необходимости. Затем поместите в него заполнители там, где вы хотите, чтобы ваши данные отображались.

В вашем.Сетевое приложение, в которое вы затем считываете данные из своей базы данных .Объекты чистых данных или XML. Последний шаг-объединить данные и шаблон. Взгляните на них примеры подробнее узнать. А вот некоторый код, который поможет вам начать работу (данные считываются из базы данных с помощью Entity Framework):

using Docentric.Documents.Reporting;
using System;
using System.Collections.Generic;
using System.Linq;

namespace clientReport
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var context = new clientsEntities())
            {
                string templateDocument = @"C:\Temp\ClientsTemplate.docx";
                string finalDocument = @"C:\Temp\ClientsReport.docx";

                ClientLst cl = new ClientLst();
                cl.Data = new List<ClientOutput>();

                var q = context.Clients.ToList<Client>();

                foreach (Client c in q)
                {
                    ClientOutput co = new ClientOutput();
                    co.Cid = c.C_ID;
                    co.Name = c.Name;
                    co.Address = c.Address;
                    co.City = c.City;
                    co.Email = c.Email;
                    co.Picture = c.Picture;

                    cl.Data.Add(co);
                }
                
                Console.WriteLine("Count of records read ..." + cl.Data.Count.ToString());

                DocumentGenerator dg = new DocumentGenerator(cl);
                DocumentGenerationResult result = dg.GenerateDocument(templateDocument, finalDocument, SaveOptions.Pdf);

                Console.Write("Press any key to continue ...");
                Console.ReadKey();
            }
        }        
    }
    public class ClientOutput
    {
        public int Cid { get; set; }
        public string Name { get; set; }
        public string Address { get; set; }
        public string City { get; set; }
        public string Email { get; set; }
        public byte[] Picture { get; set; }
    }
    public class ClientLst
    {
        public List<ClientOutput> Data { get; set; }
    }
}

Этот код считывает данные из базы данных, заполняет .Продажи данных объектов (ClientOutput и ClientList) и формирует окончательный документ, как обычный файл текстового редактора Word в формате docx (другие поддерживаемые выходные форматы в PDF, XPS и изображения). Вы можете видеть, что код очень простой, но мощный.