RptGenerator Ver 2.2

Ένα υπερ-πολύτιμο .ΝΕΤ control που δίνει τη δυνατότητα στους χρήστες να δημιουργούν δικές τους εκτυπώσεις τύπου στηλών (λίστες π.χ. κατάλογος πελατών). Λειτουργεί ως wizard, με βήματα, στα οποία ο χρήστης επιλέγει τη πηγή δεδομένων (Access database), καθορίζει ποια πεδία θέλει να εκτυπώσει μαζί με τα χαρακτηριστικά τους (περιγραφή, πλάτος, στοίχιση, γραμματοσειρά κλπ), κριτήρια επιλογής εγγραφών, ταξινόμηση, τίτλο, αν θα έχει αυτόματη αρίθμηση, διαχωριστικές γραμμές μεταξύ των γραμμών, περιθώρια σελίδας, προεπισκόπηση εκτύπωσης, δυνατότητα αποθήκευσης του report κ.α..

 

ΣΗΜ : Η έκδοση 2.1 στηρίζεται εξ’ ολοκλήρου στη μηχανή εκτύπωσης της κλάσης clsPrinting v1.3 .  Προσοχή : Από την έκδοση 2.0 το control είναι ασύμβατο με την προηγούμενη 1.0.

 

Πρόκειται για το πιο σύνθετο control που έχω κατασκευάσει (μία έκδοσή του σε OCX είχα φτιάξει στη VB6). Στην παρακάτω εικόνα βλέπετε ένα παράδειγμα  από το 1ο Βήμα του wizard :

 

 

Χρήστος Μουρατίδης, Ιανουάριος 2006

 

Τι νέο υπάρχει στην έκδοση 2.1

Τι νέο υπάρχει στην έκδοση 2.2

 

Αποσυμπιέσετε με ένα πρόγραμμα συμπίεσης πχ. WinZip τα περιεχόμενα του αρχείου RptGenerator.zip σε κάποιο φάκελο στο δίσκο. Θα δείτε να δημιουργείται ένας φάκελος με όνομα  ReportGenerator, ο οποίος περιέχει ένα project δείγματος χρήσης του control 

καθώς και το παρόν readme αρχείο. Το project παρέχει μία υποδειγματική εφαρμογή χρήσης του control.

Λίγα λόγια για το RptGenerator Control

Σε αρκετές εφαρμογές, ο προγραμματιστής επιθυμεί να δώσει τη δυνατότητα στους χρήστες να δημιουργούν τις δικές τους εκτυπώσεις. Με το RptGenerator τους δίνεται η δυνατότητα να κατασκευάζουν και αποθηκεύουν δικά τους report (τύπου στηλών-λίστες).

 

( Σημ : Επειδή το control χρησιμοποιεί εσωτερικά τη μηχανή εκτύπωσης clsPrinting, θα πρέπει να δηλώσετε στην κορυφή του κώδικα της φόρμας όπου το τοποθετείτε τα εξής :

Imports System.Drawing.Printing

Imports clsPrinting.clsPrinting  )

 

·           Επιπλέον, ο προγραμματιστής μπορεί, μετά το άνοιγμα της φόρμας που περιλαμβάνει το control,  να ανοίξει απ’ ευθείας τη βάση που επιθυμεί, μέσω της ιδιότητας DatabaseFileName :

 

RptGenerator1.DatabaseFileName = "ETAIREIA_XYZ.mdb" 'αν είναι στο φάκελο της εφαρμογής αλλιώς βάλτε ή σχετικό με το φάκελο της εφαρμογής path  (π.χ. Data\ETAIREIA_XYZ.mdb) ή  full path.

 

 

Αυτομάτως, το combobox «Πίνακας/Query», γεμίζει με τους πίνακες/ ερωτήματα που μπορεί να διαβάσει από τη βάση. Ο χρήστης μπορεί να επιλέξει αυτόν πάνω στον οποίο θα «χτιστεί» το report. 

 

·           Επίσης, μπορεί να τεθεί και αυτόματα ο πίνακας που θα εμφανιστεί άμεσα, μέσω της ιδιότητας TableName :

 

  RptGenerator1.TableName = "ΠΕΛΑΤΕΣ_EΞΩΤ"

 

Τότε στο ListBox «Πεδία Πίνακα/Query» θα εμφανιστούν τα πεδία του πίνακα/ερωτήματος. Ο χρήστης μπορεί να διαλέξει ποια επιθυμεί και να τα βάλει δεξιά στη λίστα του report (πεδία εκτύπωσης). Επιπλέον, έχει τη δυνατότητα να αλλάξει και τη σειρά εμφάνισής τους με τα πάνω-κάτω βέλη.

 

·           Στην έκδοση 2.2 έχουμε τη δυνατότητα να καθορίσουμε αν θα εμφανίζεται ένα πεδίο στο RptGenerator. Αυτό γίνεται με τη νέα μέθοδο

SetFieldVisible :

 

RptGenerator1.SetFieldVisible(“ID”, False)

 

Το πεδίο με όνομα “ID” δεν θα εμφανίζεται στο RptGenerator.

 

·           Ο προγραμματιστής μπορεί να θέσει στην ιδιότητα ReportFileName ένα ήδη έτοιμο report (*.rep).

 

  RptGenerator1.ReportFileName = "πελάτες1.rep"  'αν είναι στο φάκελο της εφαρμογής αλλιώς βάλτε ή σχετικό με το φάκελο της εφαρμογής path  (π.χ. Data\πελάτες1.rep) ή  full path.

 

Τότε αυτόματα, οι καρτέλες του wizard θα συμπληρωθούν με τις αποθηκευμένες ρυθμίσεις του report (βάση, πίνακας, πεδία εκτύπωσης κλπ).

Φυσικά, μπορεί να μην τεθεί τίποτα από όλα αυτά αυτόματα και να αφήσουμε το χρήστη να φτιάξει το report όπως θέλει.

 

·           Επειδή κάθε εκτυπωτής αντιλαμβάνεται τα περιθώρια της σελίδας με το δικό του τρόπο, υπάρχει η δυνατότητα να καθοριστούν προγραμματιστικά είτε για Potrait είτε για Landscape προσανατολισμό, μέσω της ιδιότητας CurrentMargins, ως εξής, :

 

 Dim NewMargin As PageMarginsStruct

        NewMargin.Portrait = New Margins(30, 400, 50, 350)

 NewMargin.Landscape = New Margins(30, 600, 50, 450)

        RptGenerator1.CurrentMargins = NewMargin

 

Οι τιμές είναι σε εκατοντάδες της μίας ίντσας (π.χ. 100 = 1 ίντσα, 500 = 5 ίντσες). H δομή PageMarginsStruct προέρχεται από την κλάση clsPrinting και περιλαμβάνει δύο μεταβλητές (Potrait και Landscape, τύπου Margins). Φυσικά, υπάρχει σχετικό button στον wizard για καθορισμό των περιθωρίων από τον χρήστη. Επίσης, ο προγραμματιστής, μπορεί να θέσει κάποια προεπιλεγμένα περιθώρια μέσω της ιδιότητας DefaultMargins ώστε αν ο χρήστης αλλάξει τα τρέχοντα περιθώρια να μπορεί να επανέλθει στα Default.

 

·           Για καθορισμό του προσανατολισμού μπορεί να δοθεί, μέσω της ιδιότητας PageOrientation :

 

                RptGenerator1.PageOrientation = RptGenerator.RptGenerator.PageOrientationEnum.Landscape

 

Η απαρίθμηση PageOrientationEnum περιλαμβάνει δύο τιμές : Potrait και Landcape. 

 

·           Ο προγραμματιστής μπορεί να θέσει προεπιλεγμένη μορφοποίηση για κάθε στήλη που προστίθεται στο report, μέσω των ιδιοτήτων DefaultHeader και DefaultsContent, για τις επικεφαλίδες των στηλών και το περιεχόμενο των στηλών, αντίστοιχα. Αυτές είναι τύπου clsPrinting.FormatPrint οπότε μπορούμε να καθορίσουμε γραμματοσειρά, μέγεθος, χρώμα, στοίχιση κλπ.

 

RptGenerator1.DefaultsHeader = New clsPrinting.FormatPrint()

RptGenerator1.DefaultsHeader.Font = New Font("Arial", 14, FontStyle.Bold)

 

·           Εάν επιθυμούμε να ειδοποιούμε το χρήστη όταν μία στήλη του report υπερβαίνει το δεξί περιθώριο της σελίδας θέτουμε True την ιδιότητα DisplayMessageWhenFieldIsOverMargin :

 

RptGenerator1.DisplayMessageWhenFieldIsOverMargin = True

 

·           Μπορούμε να καθορίσουμε το zoom του σκελετού στο Tab 2 θέτοντας στην ιδιότητα ZoomSkeleton μία τιμή :

 

RptGenerator1.ZoomSkeleton = 0.65    Θέτει το ποσοστό zoom στο 65%

 

Η εκτύπωση περιλαμβάνει τις εξής ζώνες : Τίτλος, τις επικεφαλίδες των στηλών (Header), τη γραμμή δεδομένων (Content) και το υποσέλιδο (Footer). Το υποσέλιδο περιλαμβάνει την ημερ/νία εκτύπωσης και αριθμό σελίδας.

 

Αυτά όσον αφορά τον προγραμματιστή. Από κει και μετά ο χρήστης μπορεί να τοποθετεί τα πεδία που επιθυμεί στο report, να καθορίζει τα χαρακτηριστικά τους στο Τab 2 (κείμενο επικεφαλίδας, μορφοποίηση επικεφαλίδας, πλάτος πεδίου σε χαρακτήρες, στοίχιση, μορφοποίηση περιεχομένου, αν θα υπάρχει διαχωριστής με την επόμενη στήλη και το είδος του διαχωριστή (συνήθως γραμμή), αν θα υπάρχει διαχωριστικό χιλιάδων, αν θα έχει δεκαδικά, τον τρόπο εμφάνισης ενός Boolean πεδίου (π.χ. με τσεκ, με Ναι/Όχι κλπ) κ.α.

            Εφόσον, γίνουν αλλαγές στα πεδία εκτύπωσης, μπορεί ο χρήστης να πατήσει το κουμπί «Ενημέρωσε το σκελετό» για να δει τις αλλαγές στο σκελετό. Επίσης, μπορεί να καθορίσει και το zoom του σκελετού. Ο σκελετός από την έκδοση 2.0 είναι εντελώς διαφορετικός σε σχέση με την έκδοση 1.0. Παρουσιάζει, πλέον,  με ρεαλιστικό τρόπο, του πώς θα είναι η εκτύπωση. Αλλαγές που κάνετε και στις ιδιότητες του report (Tab 5) αντικατοπτρίζονται πλήρως στο σκελετό (π.χ. τίτλος, αυτόματη αρίθμηση εγγραφών, υποσέλιδο, μορφοποιήσεις,  κάθετες γραμμές των περιθωρίων, περιθώρια, γραμμές επικεφαλίδων-υποσέλιδου, απόσταση μεταξύ των στηλών, αν θα τυπώνεται η γραμμή του υποσέλιδου κλπ)

            Στο Τab3 o χρήστης καθορίζει τα κριτήρια επιλογής των εγγραφών του επιλεγμένου πίνακα /ερωτήματος

            Στο Τab4 ο χρήστης καθορίζει την ταξινόμηση των εγγραφών.

            Στο  Tab5 έχουν πραγματοποιηθεί πολλές αλλαγές. Εδώ καθορίζονται οι ιδιότητες του report.(Τίτλος, μορφοποίηση του τίτλου, αυτόματη αρίθμηση και μορφοποίησή του, αν θα τυπώνονται διαχωριστικές γραμμές μεταξύ των εγγραφών και τα χαρακτηριστικά τους (πάχος, στυλ, χρώμα), αν θα τυπώνεται η ημερ/νία εκτύπωσης στο υποσέλιδο και μορφοποίησή του, αν θα τυπώνεται η αρίθμηση σελίδων στο υποσέλιδο και μορφοποίησή του, καθορισμός περιθωρίων σελίδας, καθώς και άλλες ρυθμίσεις (αν θα τυπώνονται κάθετες γραμμές στα περιθώρια και τα χαρακτηριστικά τους, αν θα τυπώνεται η διαχωριστική γραμμή του υποσέλιδου, χαρακτηριστικά των γραμμών επικεφαλίδας υποσέλιδου, απόσταση μεταξύ των στηλών κ.α.)

 

Δείτε την εφαρμογή επίδειξης που περιέχει αρκετά σχόλια ως τεκμηρίωση.

 

Παρακάτω παρουσιάζονται οι ιδιότητες, μέθοδοι και τα γεγονότα του control :

Ιδιότητες                                 

  

1)    DatabaseFileName     : Το όνομα της Βάσης Δεδομένων (Access database 2000 και άνω).

2)    ReportFileName       : Το όνομα του report αρχείου (*.rep) που περιέχει τις ρυθμίσεις του report.

3)    TableName            : Το όνομα του πίνακα/ ερωτήματος, πάνω στον οποίο θα «χτιστεί» το report.

4)    ErrorMsg             : Το μήνυμα λάθους που επιστρέφει το γεγονός OnErrorRptGenerator

5)    PageOrientation      : Ο προσανατολισμός της σελίδας, τύπου PageOrientationEnum

6)    DefaultMargins        : Τα προεπιλεγμένα περιθώρια σελίδας, τύπου PageMarginsStruct. Ο προγραμματιστής μπορεί να θέσει κάποια προεπιλεγμένα περιθώρια ώστε ο χρήστης να επιστρέφει σε αυτά αυτόματα.

7)    CurrentMargins        : Τα τρέχοντα περιθώρια σελίδας, τύπου PageMarginsStruct.

8)    DefaultsHeader        : Τo προεπιλεγμένο FormatPrint για τις επικεφαλίδες των στηλών. Δηλ., με κάθε νέα προσθήκη στήλης ποιο θα είναι το default Font, Color, Alignment για την επικεφαλίδα της.

9)    DefaultsContent       : Τo προεπιλεγμένο FormatPrint για τo περιεχόμενο της στήλης. Δηλ., με κάθε νέα προσθήκη στήλης ποιο θα είναι το default Font, Color, Alignment για τo περιεχόμενό της.

10)DisplayMessageWhenFieldIsOverMargin : τυπώνει προειδοποιητικό μήνυμα όταν το πλάτος μίας στήλης υπερβαίνει το δεξί περιθώριο;

11)ZoomSkeleton          : Η τιμή ζουμ του σκελετού του report. Π.χ. αν θέσουμε 0,80 θα πάρουμε ένα ζουμ στο 80%.

Γεγονότα

 

1)    OnCloseRptGenerator()  : Ενεργοποιείται όταν πατηθεί το button “Κλείσιμο”.

2)    OnErrorRptGenerator()  : Ενεργοποιείται όταν συμβεί κάποιο λάθος. Τότε η ιδιότητα ErrorMsg θα επιστρέψει το μήνυμα λάθους.

 

Mέθοδοι

 

1) ResetReport          : Μηδενίζει το report. Δηλ., καθαρίζει τις καρτέλες και μεταβαίνει στο 1ο tab του wizard.

2) SetFieldVisible      :  Καθορίζει αν θα εμφανίζεται ένα πεδίο στο control. (νέο στην έκδοση 2.2)

  Public Αντικείμενα

 

1)    PageOrientationEnum : Μία απαρίθμηση (Enum) για τον προσανατολισμό σελίδας. Δύο τιμές : Portrait και Landcaspe.

2)    DefaultMargins       : Μία δομή (structure) για τον καθορισμό των περιθωρίων σελίδας. Περιλαμβάνει δύο μεταβλητές τύπου Margins : Portrait για προσανατολισμό κατακόρυφο και Landscape για προσανατολισμό Οριζόντιο. Η κλάση Margins ανήκει στο namespace System.Drawing.Printing και πρέπει να το συμπεριλάβετε με τη δήλωση Imports στο έργο σας.  

3)     LineWidthEnum       : Μία απαρίθμηση (Enum) για τα πάχη των γραμμών εκτύπωσης. Έχει τις εξής τιμές :

   VeryThin,  Thin,  Fat ,   VeryFat

4)     LineStyleEnum       : Μία απαρίθμηση (Enum) για τα στυλ των γραμμών εκτύπωσης. Έχει τις εξής τιμές :

         Solid,   Dash,   DashDot,   DashDotDot,   Dot

5)     ColorsEnum         : Μία απαρίθμηση (Enum) για τα 16 χρώματα που χρησιμοποιεί το RptGenerator. Έχει τις εξής τιμές:

Black,  Maroon,  Green, Olive,  Navy,  Purple,  Teal, Gray,  Silver,  Red, Lime, Yellow, Blue,       Fuchsia,  Aqua,  White

     

Παρατηρήσεις

Πριν προσθέσετε το control στο Toolbox βεβαιωθείτε ότι έχετε συμπεριλάβει σε αυτό τα CriteriaControl και SortControl, διότι τα χρησιμοποιεί εσωτερικά.

Προσθέστε στο ToolBox της VB.NET το RptGenerator control και χρησιμοποιήστε το ελεύθερα στις εφαρμογές σας. Το assembly αρχείο RptGenerator.dll θα το βρείτε στο φάκελο bin.

 

Πριν τοποθετήσετε το control στη φόρμα βεβαιωθείτε ότι έχετε προσθέσει ήδη μία αναφορά στα CriteriaControl , SortControl και clsPrinting, στο τμήμα References του έργου στο Solution Explorer.

 

ΠΡΟΒΛΗΜΑ ΜΕ ΤΟ PROJECT ΔΕΙΓΜΑΤΟΣ ΧΡΗΣΗΣ - ΛΥΣΗ.

 

Αν στα References του project δείγματος χρήσης εμφανίζει με κίτρινο θαυμαστικό το RptGenerator τότε πρέπει να ενημερώσετε το Reference Path του project ώστε να ψάχνει στο φάκελο που έχετε βάλει το dll του control.

 

1) Στο Solution Explorer κάντε δεξί κλικ στο prοject και επιλέξτε Properties.

2) Στο παράθυρο ιδιοτήτων του project που ανοίγει, πηγαίνετε στο τμήμα Common Properties και Reference Path.

3) Δεξιά, πατήστε το browse button (...) για να βρείτε το Folder όπου βρίσκεται το assembly dll του control στον δικό σας υπολογιστή.

4) Πατήστε το button Update. Σώστε το project, κλείστε το και ξανανοίξτε το. Τώρα, πρέπει να εμφανίζονται όλα κανονικά.  

 

Θα χρειαστεί, ενδεχομένως πρώτα, να διορθώσετε τα Reference Paths για τα CriteriaControl και SortControl.

 

Εναλλακτικά, ανοίξτε με το WordPad το αρχείο ReportGenerator.vbproj και μεταβείτε στο tag <References>. Εκεί, βρίσκονται όλες οι εξαρτημένες αναφορές του έργου. Διορθώστε το attribute HintPath για κάθε αναφορά για το SortControl, CriteriControl, clsPrinting και RptGenerator σύμφωνα με τις θέσεις που τα έχετε βάλει στο δίσκο.

Επικοινωνία

Για οποιεσδήποτε παρατηρήσεις στείλτε e-mail στην παρακάτω διεύθυνση.

 

mouratx@yahoo.com

Χρήστος Μουρατίδης

 

Παράδειγμα χρήσης  (Μεγιστοποιήστε το παράθυρο για να δείτε καλύτερα)

 

Βήμα 1ο : Καθορισμός πεδίων εκτύπωσης.

 

Καθορίζουμε τη Βάση Δεδομένων, τον πίνακα/ερώτημα πάνω στα πεδία του οποίου θα χτιστεί το report, επιλέγουμε τα πεδία του πίνακα που θα συμπεριληφθούν στο report. Μπορούμε με τα πάνω-κάτω βέλη να αλλάξουμε τη σειρά εμφάνισής τους.

Από εδώ, επίσης, μπορούμε να ανοίξουμε, αντί για τη Βάση, ένα report αρχείο με ήδη αποθηκευμένες ρυθμίσεις (Βάση, πίνακας, πεδία εκτύπωσης κλπ). Αυτό είναι πολύ χρήσιμο για να μην ξαναδίνει ο χρήστης κάθε φορά τα ίδια όταν πρόκειται να τυπώσει την ίδια κατάσταση. Απλώς, την ανοίγει, και μεταβαίνει στο tab 5 και τυπώνει.

 

Βήμα 2ο : Χαρακτηριστικά πεδίων εκτύπωσης – σκελετός report.

 

Στο βήμα αυτό καθορίζουμε τα χαρακτηριστικά κάθε πεδίου όπως : Επικεφαλίδα στήλης, πλάτος της στήλης (σε χαρακτήρες), Στοίχιση. Αν το πεδίο είναι αριθμητικό, τότε εμφανίζεται επιπλέον : Αν θα υπάρχει διαχωριστικό χιλιάδων, και πλήθος δεκαδικών ψηφίων. Αν το πεδίο είναι λογικό τότε εμφανίζεται και η επιλογή τρόπου εμφάνισης (με τσεκ, με Ναι/Όχι κλπ).

Πατώντας το κουμπί «Μορφοποίηση και διαχωριστής» καθορίζουμε τη μορφοποίηση για την επικεφαλίδα και το περιεχόμενο της στήλης (γραμματοσειρά, μέγεθος, στυλ, χρώμα, τύπος διαχωριστή με την επόμενη στήλη (συνήθως κάθετη γραμμή).

Πλαίσιο κειμένου: Πατώντας το κουμπί Γραμματοσειρά και Χρώμα εμφανίζεται το γνωστό παράθυρο διαλόγου Γραμματοσειράς ενώ με το κουμπί Διαχωριστής με επόμενη στήλη εμφανίζεται ένα παράθυρο για να επιλέξουμε τον τύπο του διαχωριστή.

 

 

 

 

Πατώντας το button «Ενημέρωσε το σκελετό», ο σκελετός του report στο κάτω μέρος ενημερώνεται με τις αλλαγές του πεδίου. Για αλφαριθμητικά πεδία εμφανίζονται ισάριθμα του πλάτους Χ , για αριθμητικά ισάριθμα 9 (περιλαμβανομένου τυχόν διαχωρ. χιλιάδων και δεκαδικού σημείου), για ημερ/νίες ΗΗ/ΜΜ/ΕΕΕΕ και για λογικά το τσεκ ή το Ναι/Όχι ή ό,τι άλλο έχουμε επιλέξει από μία ειδική επιλογή τρόπου εμφάνισης περιεχομένου ενός λογικού πεδίου. Αυτός ο τρόπος σκελετού θα θυμίσει στους «παλιούς» τον τρόπο χτισίματος ενός report στη Dbase!!

Επίσης, και σε αυτό το βήμα, μπορούμε να αλλάξουμε τη σειρά εμφάνισης των πεδίων εκτύπωσης.

 

 

 

 

 

 

 

 

Βήμα 3ο : Κριτήρια επιλογής εγγραφών.

 

 

Εδώ καθορίζονται τα κριτήρια επιλογής (με βάση το ενσωματωμένο CriteriaControl).

 

Βήμα 4ο : Ταξινόμησης εγγραφών

 

 

 

Εδώ καθορίζεται η ταξινόμηση των εγγραφών (με βάση το ενσωματωμένο SortControl).

 

Βήμα 5ο : Χαρακτηριστικά report -εκτύπωση

 

 

Τέλος, καθορίζουμε τίτλο, αν θα υπάρχει αυτόματη αρίθμηση, διαχωριστική γραμμή μεταξύ των γραμμών, αν θα τυπωθεί η τρέχουσα ημερ/νία και ο αριθμός σελίδας. Επίσης, ορίζεται ο προσανατολισμός της σελίδας ενώ με το button Περιθώρια” ανοίγει ένα πλαίσιο διαλόγου για καθορισμό των περιθωρίων (αριστερό, δεξί, πάνω, κάτω). Το button “Άλλες ρυθμίσεις σελίδας” ανοίγει ένα παράθυρο για να επιλέξουμε αν θα τυπωθούν οι κάθετες γραμμές των περιθωρίων, αν θα τυπωθεί η γραμμή του υποσέλιδου, τα χαρακτηριστικά των γραμμών Επικεφαλίδας-Υποσέλιδου, την απόσταση μεταξύ των στηλών κλπ.

Για κάθε επιλογή υπάρχει και αντίστοιχο button «Ρυθμίσεις». Ανάλογα με την επιλογή, ανοίγει ένα παράθυρο για μορφοποιήσεις (Γραμματοσειρά, μέγεθος, στυλ, χρώμα, στοίχιση κλπ) ή για καθορισμό των χαρακτηριστικών της γραμμής (πάχος, στυλ, χρώμα). Δείτε, δίπλα,  το παράθυρο ρύθμισης για την αυτόματη αρίθμηση των εγγραφών.

 

Με το button Προεπισκόπηση εκτύπωσης” βλέπουμε  πώς θα τυπωθεί το report.

Με το button Εκτύπωση…” ανοίγει το γνωστό παράθυρο εκτύπωσης.

 Με το button Αποθήκευση report…”  ανοίγει το γνωστό παράθυρο Save as όπου δίνουμε το όνομα του report..Το αρχείο *.rep είναι ένα απλό text αρχείο που μπορεί να ανοιχτεί με το NotePad. Χρήσιμο, αν θέλετε να διορθώσετε το path της Βάσης, αλλά πρέπει να είσαστε προσεκτικοί.

 

 

 

 

 

 

Η στήλη του Υπευθύνου είναι με γραμματοσειρά Verdana, η στήλη Πόλη είναι με γραμματοσειρά Times New Roman, κέντρο, με μπλε χρώμα και έχει διαχωριστή με επόμενη στήλη τον χαρακτήρα *, οι υπόλοιπες με γραμματοσειρά Arial.

 

Τι νέο υπάρχει στην έκδοση 2.2

 

Λόγω της νέας έκδοσης των CriteriaControl v1.3 και SortControl v1.5 που υποστηρίζουν την εμφάνιση ή όχι ενός πεδίου, η νέα έκδοση δίνει τη δυνατότητα γενικότερα να εμφανίζεται  ή όχι ένα πεδίο στο χρήστη. Η νέα μέθοδος SetFieldVisible λειτουργεί π.χ. ως εξής :

 

RptGenerator1.SetFieldVisible(ID”, False)

 

Το πεδίο με όνομα “ID” δεν θα εμφανίζεται στο RptGenerator.

 

Τι νέο υπάρχει στην έκδοση 2.1

 

Υπάρχει η δυνατότητα να επιλέξει ο χρήστης από το tab 5 (ιδιότητες report / Εκτύπωση), στις ρυθμίσεις της αρίθμησης σελίδων, αν θέλει να τυπώνεται ή όχι το πλήθος των σελίδων του report, όπως φαίνεται στην εικόνα :

 

 

Η πληροφορία αυτή θα αποθηκευτεί και στο report αρχείο, αν επιλέξει ο χρήστης να αποθηκεύσει το σκελετό του report.

 

Τα report αρχεία της έκδοσης 2.0 είναι συμβατά με αυτά της 2.1, δηλ, αν έχετε ήδη δημιουργήσει ένα report αρχείο στην έκδοση 2.0, θα διαβαστεί κανονικά από την 2.1.