Sortowanie po dacie i drukowanie raportu

0

Witam piszę programik który wczytuje plik txt w którym jest raport działania pewnej aplikacji. Dane z pliku txt wczytuje do datagridview i teraz chciałbym stworzyć taką możliwość aby można było wybrać datę od do i wydrukować to. Fajnie by było jakby w datagridview pojawiały się dane od do. Jakiś pomysł jak to zrobić ?

0

Może zrób sobie jakąś liste i zapytanie z wykorzystaniem linqu do sortowania ?

0

Tytuł inny, a treść inna ;) chcesz w końcu sortować czy filtrować po dacie?

0

Chodzi o pokazywanie wyników z datą od do czyli filtrowanie :P

0

Możesz sobie wrzucić na formę dwie kontrolki typu DateTimePicker i skorzystać z BindingSource który ma takie bajer jak BindingSource.Filter
Możesz zrobić to na DateTimePicker.ValueChanged() albo dodaj sobie guzik, który będzie pobierał obie daty i filtrował BindingSource
BindingSource
BindingSourceFilter

0

Jedno małe pytanko jeśli w datetimepickerze wpiszę czas 14:00 to on automatycznie wpisuje 2:00 jak to zmienić bo to ważne.

0

We właściwościach kontrolki DateTimePicker masz pole Format (można to wyklikać visualem, nie trzeba w kodzie). Wybierz opcję Custom i później w polu CustomFormat wpisz format jaki masz w pliku .txt
np.: dd.MM.yyyy HHss <- HH oznacza system 24 godzinny ;)

0

Dzięki

0

Zastanawia mnie jeszcze jedna rzecz czy przefiltrowane wartości zapisywać do pliku txt i ten plik drukować czy drukować raczej datagridview. Próbowałem coś to robić ale mi obcina dane jak go próbuje druknąć.

0

Pokaż jak drukujesz DataGridView

0
Bitmap bmp;
        private void button2_Click(object sender, EventArgs e)
        {
            int height = dataGridView1.Height;
            dataGridView1.Height = dataGridView1.RowCount * dataGridView1.RowTemplate.Height * 2;
            bmp = new Bitmap(dataGridView1.Width, dataGridView1.Height);
            dataGridView1.DrawToBitmap(bmp, new Rectangle(0, 0, dataGridView1.Width, dataGridView1.Height));
            dataGridView1.Height = height;
            printPreviewDialog1.ShowDialog();
        }
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            e.Graphics.DrawImage(bmp, 0, 0);
        }

0

A jaki masz pomysł na "upiększanie" txt, wydaje mi się, że za dużego pola do popisu nie masz w takim pliku. Wydruk grida będzie czytelniejszy

0

Owszem ale na razie nie mam pojęcia jak się grida drukuje :P

0

Jak masz młotek to wszystko wygląda jak penis.
Jak chcesz wydrukować dane to szukaj rozwiązania do wydruku danych. Zwykle da się to zrobić znacznie lepiej niż wywalić grida na drukarkę.
Np. pokazać zakres dat w nagłówku, pogrupować po czymś, zmienić układ z tabelkowego (grid) na bardziej liniowy, pogrubić lub inaczej zaakcentować jakieś istotne dane (inny kolor, formatowanie). Jakieś dodatkowe info dołożyć co to w ogóle za papiery.

o html-u i pdf już wspominałem.
Można zainwestować w jakiś system raportów (Crystal, Devexpress). Crystala nie używałem. W Devexpress można cuda i jest piękny.
** A no i Syncfusion jest gratis (Community) dla zespołów do 5 osób** ale mi się jakoś nie podobają ich kontrolki (jakieś brzydkie takie) ale mają komponenty do raportów z wizualnym edytorem.
https://www.syncfusion.com/products/report

EDIT
Syncfusion ma raporty ale chyba nie dla WinForms. Lamery.

0

Witam, ostatecznie poradziłem sobie z problemem, dzięki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1