Report designer jest pełen wielu funkcji, których wielu użytkowników nie używa. Czasami różnorodność ikon i menu tylko rozprasza. Dlatego wielu użytkowników chciałby mieć uproszczoną wersję report designer tylko z funkcjami, których potrzebują. Dzięki temu Projektant raportów można dostosować do potrzeb użytkowników końcowych, osadzając go w aplikacji.
W tym artykule przyjrzymy się sposobowi tworzenia niestandardowych odpowiedzi do zarządzania elementami projektanta, czyli niestandardowego paska narzędzi z żądanymi przyciskami funkcyjnymi. Jest to dość łatwe do wykonania. Fakt, że komponent report designer dostarcza nam swego rodzaju API, do wywołania niektórych jego funkcji, takich jak tworzenie, pobieranie i zapisywanie raportu, drukowanie, przeglądanie raportu i wiele innych.
Dlatego wszystko, czego potrzebujemy-aby dodać komponent Projektant raportów i utworzyć własny pasek narzędzi.
Dodać w formularzu komponent ToolStrip. I utworzyć panel 7 przycisków:
• Nowy-utwórz nowy raport;
- Open - otwarcie istniejącego szablonu raportu do edycji;
- Zapisz-Zapisz szablon raportu;
- Preview - Podgląd raportu;
- Undo - Cofnij ostatnią edycję;
- Redo-powtórz edycję;
- Close-Zamknij program.
Łączymy fastReport.dll z projektem. A dla formularza tworzymy obsługę ładowanych zdarzeń:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
public DesignerControl designer; //Set the variable for the report designer component private void Form1_Load(object sender, EventArgs e) { designer = new DesignerControl(); //Crete a copy of rport designer this.Controls.Add(designer); //Add component to the form Report report = new Report(); //Create a report object designer.Report = report; //Pass the created empty report to the designer designer.RefreshLayout(); //Update the designer designer.Dock = DockStyle.Fill; //Set th location of the dsigner component designer.ShowMainMenu = false; //Turn off menu in the designer } // Create a new report private void ToolStripButton1_Click(object sender, EventArgs e) { designer.cmdNew.Invoke(); } //Open a rport private void OpenBtn_Click(object sender, EventArgs e) { designer.cmdOpen.Invoke(); } //Save report private void SaveBtn_Click(object sender, EventArgs e) { designer.cmdSave.Invoke(); } //View report private void PreviewBtn_Click(object sender, EventArgs e) { designer.cmdPreview.Invoke(); } //Close program private void CloseBtn_Click(object sender, EventArgs e) { this.Dispose(); } //Undo the last action private void UndoBtn_Click(object sender, EventArgs e) { designer.cmdUndo.Invoke(); } //Redo the last action private void RedoBtn_Click(object sender, EventArgs e) { designer.cmdRedo.Invoke(); } |
Jak widać, dla każdego przycisku z utworzonego paska narzędzi stworzyliśmy zdarzenie click. Zgodnie z funkcjami przycisków, przywołujemy odpowiedni zespół projektantów.
Lista dostępnych poleceń:
- cmdnew – stwórz nowy raport;
- cmdnewpage – stwórz nową stronę raportu
- cmdnewdialog – stwórz formularz dialogowy do raportu;
- cmdopen – otwórz istniejący szablon raportu do edycji;
- cmdsave – zapisz szablon raportu;
- cmdsaveas – zapisz szablon raportu, wskazując ścieżkę;
- cmdsaveall – zapisz wszystkie zmiany;
- cmdclose – zamknij raport w projektancie;
- cmdcloseall – zamknij wszystkie raporty w projektancie;
- cmdpreview – przeglądaj raporty;
- cmdprintersetup – instalacja druku;
- cmdpagesetup – ustawienie strony raportu (kierunek, rozmiar itp.);
- cmdaddata – dodaj źródło danych do raportu;
- cmdsortdatasources – sortuj źródła danych;
- cmdozowane – wybierz źródło danych;
- cmdundo – anuluj ostatnią edycję raportu;
- cmdredo – przywróć ostatnią edycję raportu;
- cmdcut – wytnij do schowka;
- cmdcopy – kopiuj do schowka;
- cmdpaste – wklej ze schowka;
- cmdformatpainer – określ format obrazu;
- cmddelete – usuń obiekt raportu;
- cmdcopypage – kopiuj stronę raportu;
- cmddeletepage – usuń stronę raportu;
- cmdselectall – zaznacz strony dla wszystkich obiektów;
- cmdgroup – grupuj obiekty;
- cmdungroup – podziel obiekty raportu;
- cmdedit – edytuj ustawienia strony raportu;
- cmdfindit – wyświetl okno wyszukiwania;
- cmdreplace – wyświetl okno zamiany;
- cmdbringtofront – obiekt projektanta;
- cmdsendtoback – tło obiektu projektu;
- cmdinsert – sprawdź, czy opcja wstawiania jest aktywna;
- cmdinsert band – wstaw wstęgę;
- cmdrecentfiles – dodaj plik do listy ostatnich plików;
- cmdselect language - wybierz lokalny język projektowania;
- cmdviewstartpage – projektant, który uruchamia stronę internetową;
- cmdreportsettings – ustaw ustawienia raportu;
- cmdoptions – ustaw ustawienia projektanta;
- cmdreportstyles – ustaw style raportowania;
- cmdhelpcontents – wyświetl stronę pomocy;
- cmdabout – wyświetl stronę o;
- cmdwelcome – pokaż stronę powitalną;
- cmdpolyselectmove, cmdpolyselectpoint, cmdpolyselectaddpoint, cmdpolyselectbezier, cmdpolyselectremovent – ustawienia wielokątów
Teraz uruchomimy naszą aplikację:
Wygląda jak zwykły projektant raportów. Zwróćmy jednak uwagę na górny pasek narzędzi – nie jest standardowy. Mamy tylko te funkcje, których potrzebujemy.