Stimulsoft Reports and Dashboards User Manual - en
Stimulsoft Reports and Dashboards User Manual - en
Stimulsoft Reports and Dashboards User Manual - en
Table of Contents
Part I Introduction 1
1 Activation
................................................................................................................................... 2
2 Technical
...................................................................................................................................
Support 5
3 Web Links
...................................................................................................................................
and Online Resources 7
© 2003-2019 Stimulsoft
I
II Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Contents III
4 Output
...................................................................................................................................
Text Parameters 339
Text Editor .......................................................................................................................................................... 339
.......................................................................................................................................................... 342
Multiline Text
Trimming in..........................................................................................................................................................
the End of Text Line 343
..........................................................................................................................................................
Prevent Show ing Incompletely Visible Lines 344
..........................................................................................................................................................
Lines of Underlining 344
..........................................................................................................................................................
Maximal Number of Lines 345
..........................................................................................................................................................
Text Rotation 346
..........................................................................................................................................................
Processing Duplicates 346
..........................................................................................................................................................
Ignoring Null Values 349
..........................................................................................................................................................
ReportTo Property 350
..........................................................................................................................................................
Shrink Font To Fit Property 351
..........................................................................................................................................................
Shrink Font to Fit Minimum Size Property 353
..........................................................................................................................................................
Output Text Only w ithout Taking Expressions into Consideration 354
..........................................................................................................................................................
Expression Processing in the End of Report Rendering 355
Zip code .......................................................................................................................................................... 355
5 Text...................................................................................................................................
Formatting 356
.......................................................................................................................................................... 358
Standard Formatting
.......................................................................................................................................................... 358
Numerical Formatting
.......................................................................................................................................................... 361
Currency Formatting
.......................................................................................................................................................... 365
Date Formatting
.......................................................................................................................................................... 368
Time Formatting
Percentage ..........................................................................................................................................................
Data Formatting 370
..........................................................................................................................................................
Boolean Values Formatting 373
..........................................................................................................................................................
Custom Formatting 373
..........................................................................................................................................................
Formatting in Text 376
6 HTML
...................................................................................................................................
Tags 377
HTML <font>..........................................................................................................................................................
Tag 379
......................................................................................................................................................... 380
Color Attribute
......................................................................................................................................................... 381
Face Attribute
......................................................................................................................................................... 382
Size Attribute
..........................................................................................................................................................
HTML Tags to Change Font Style 382
HTML <b>.........................................................................................................................................................
Tag 383
HTML <i>.........................................................................................................................................................
Tag 383
.........................................................................................................................................................
HTML <em> Tag 384
HTML <u>.........................................................................................................................................................
Tag 384
HTML <s>.........................................................................................................................................................
Tag 385
.........................................................................................................................................................
HTML <sup> Tag 385
.........................................................................................................................................................
HTML <sub> Tag 386
.........................................................................................................................................................
HTML <strong> Tag 386
HTML <p>.........................................................................................................................................................
Tag 387
.........................................................................................................................................................
HTML <br> Tag 387
.........................................................................................................................................................
HTML <ol> Tag 387
.........................................................................................................................................................
HTML <ul> Tag 388
..........................................................................................................................................................
HTML <background-color> Tag 389
..........................................................................................................................................................
HTML <text-align> Tag 389
..........................................................................................................................................................
HTML <letter-spacing> Tag 390
..........................................................................................................................................................
HTML <w ord-spacing> Tag 390
..........................................................................................................................................................
HTML <line-height> Tag 390
..........................................................................................................................................................
Special Characters 391
7 Rich...................................................................................................................................
Text 395
.......................................................................................................................................................... 396
Rich Text Editor
Expressions..........................................................................................................................................................
in Rich Text 397
© 2003-2019 Stimulsoft
III
IV Stimulsoft Reports and Dashboards User Manual
..........................................................................................................................................................
Loading Rich Text From Data Field 399
8 Graphic
...................................................................................................................................
Information Output 400
.......................................................................................................................................................... 402
Loading Images
.......................................................................................................................................................... 404
Image Stretching
..........................................................................................................................................................
Resources of Images 405
9 Autosize
................................................................................................................................... 407
..........................................................................................................................................................
Automatically Resizing Text Component 408
..........................................................................................................................................................
Automatically Resizing Panels 409
..........................................................................................................................................................
Automatically Resizing Bands 410
..........................................................................................................................................................
Binding Bottom Border of Component 412
..........................................................................................................................................................
Automatically Shifting Components 414
10 Barcodes
................................................................................................................................... 416
.......................................................................................................................................................... 418
Barcode Editor
Barcode Size.......................................................................................................................................................... 422
.......................................................................................................................................................... 423
Linear Barcodes
EAN/UPC.........................................................................................................................................................
Based 423
What is EAN.UCC .........................................................................................................................................
System? 424
UPC-A ......................................................................................................................................... 424
UPC-E ......................................................................................................................................... 425
EAN-13 ......................................................................................................................................... 426
EAN-8 ......................................................................................................................................... 427
Add-On Symbols ......................................................................................................................................... 428
EAN-128 ......................................................................................................................................... 429
ITF-14 ......................................................................................................................................... 430
JAN-13 ......................................................................................................................................... 431
JAN-8 ......................................................................................................................................... 431
ISBN-10 ......................................................................................................................................... 432
ISBN-13 ......................................................................................................................................... 433
......................................................................................................................................................... 433
Other Barcodes
Pharmacode ......................................................................................................................................... 433
Plessey ......................................................................................................................................... 434
Msi ......................................................................................................................................... 435
2of5 ......................................................................................................................................... 436
FIM ......................................................................................................................................... 437
Codabar ......................................................................................................................................... 438
Postnet ......................................................................................................................................... 439
......................................................................................................................................... 439
Australia Post 4-state
Royal TPG Post.........................................................................................................................................
KIX 4-State 440
Royal Mail 4-state ......................................................................................................................................... 441
Code11 ......................................................................................................................................... 442
Code39 ......................................................................................................................................... 443
Code93 ......................................................................................................................................... 444
Code128 ......................................................................................................................................... 445
Barcode .........................................................................................................................................................
Comparison Table 446
2D Barcodes.......................................................................................................................................................... 449
PDF417 ......................................................................................................................................................... 449
......................................................................................................................................................... 451
Datamatrix
QR Code......................................................................................................................................................... 454
11 Report
................................................................................................................................... 455
.......................................................................................................................................................... 456
Report Structure
.......................................................................................................................................................... 457
Report Rendering
12 Pages
................................................................................................................................... 458
© 2003-2019 Stimulsoft
Contents V
..........................................................................................................................................................
Print On Previous Page Property 458
Margins .......................................................................................................................................................... 461
13 Bands
................................................................................................................................... 464
Band Types .......................................................................................................................................................... 464
Standard.........................................................................................................................................................
Bands 465
.........................................................................................................................................................
Cross-bands 468
..........................................................................................................................................................
Rendering Order of Bands 469
14 Creating
...................................................................................................................................
Lists 487
Data Band .......................................................................................................................................................... 487
Data Source ..........................................................................................................................................................
of Data Band 488
List Output .......................................................................................................................................................... 492
..........................................................................................................................................................
List w ith Header 494
..........................................................................................................................................................
List w ith Footer 495
..........................................................................................................................................................
KeepHeaderTogether Property 496
..........................................................................................................................................................
KeepFooterTogether Property 497
..........................................................................................................................................................
Enumeration in Lists 498
..........................................................................................................................................................
Selecting Row s One After Another 500
..........................................................................................................................................................
Events and Data Band 503
Data Sorting .......................................................................................................................................................... 504
..........................................................................................................................................................
Data Filtering 505
..........................................................................................................................................................
Lists One After Another 511
..........................................................................................................................................................
PrintOn Property 513
..........................................................................................................................................................
PrintOnEvenOddPages Property 513
..........................................................................................................................................................
PrintOnAllPages Property 515
..........................................................................................................................................................
PrintAtBottom Property 516
..........................................................................................................................................................
Drag and Drop From Dictionary 517
Check Box .......................................................................................................................................................... 519
15 Creating
...................................................................................................................................
Master-Detail Lists 520
..........................................................................................................................................................
MasterComponent Property 522
..........................................................................................................................................................
DataRelation Property 523
Relation ......................................................................................................................................................... 524
.......................................................................................................................................................... 527
Multilevel Nesting
KeepDetails ..........................................................................................................................................................
Property 528
..........................................................................................................................................................
Row s Numbering in Master-Detail Reports 530
..........................................................................................................................................................
Through Lines Numbering in Master-Detail Reports 532
..........................................................................................................................................................
Headers, Footers and Master-Detail Reports 533
..........................................................................................................................................................
PrintifDetailEmpty Property 534
16 Groups
................................................................................................................................... 535
.......................................................................................................................................................... 536
Grouping Conditions
Group Header..........................................................................................................................................................
band 537
Group Footer..........................................................................................................................................................
band 538
Data Sorting..........................................................................................................................................................
in Group 539
GroupFooter.......................................................................................................................................................... 541
..........................................................................................................................................................
KeepGroupTogether Property 542
..........................................................................................................................................................
KeepGroupHeaderTogether Property 543
..........................................................................................................................................................
KeepGroupFooterTogether Property 544
..........................................................................................................................................................
Events and Group Header band 545
..........................................................................................................................................................
Group Without Group Header 545
.......................................................................................................................................................... 546
Nested Groups
..........................................................................................................................................................
Groups Without Group Footer 547
LineThrough ..........................................................................................................................................................
System Variable 548
..........................................................................................................................................................
Numbering Row s in Group 548
..........................................................................................................................................................
GroupLine System Variable 549
© 2003-2019 Stimulsoft
V
VI Stimulsoft Reports and Dashboards User Manual
..........................................................................................................................................................
Combining Groups and Master-Detail Reports 550
17 Page...................................................................................................................................
Bands 550
Page Header..........................................................................................................................................................
Band 551
..........................................................................................................................................................
Page Footer Band 552
..........................................................................................................................................................
PrintOnEvenOddPages Property 555
18 Report
...................................................................................................................................
Bands 557
Report Title ..........................................................................................................................................................
band 557
..........................................................................................................................................................
Report Summary band 557
..........................................................................................................................................................
ReportTitleBand Property 558
..........................................................................................................................................................
KeepReportSummaryTogether Property 559
..........................................................................................................................................................
Print At Bottom Property 560
..........................................................................................................................................................
Print If Empty Property 561
19 Columns
................................................................................................................................... 562
Columns on..........................................................................................................................................................
Page 563
..........................................................................................................................................................
Columns on Data Band 565
.........................................................................................................................................................
AcrossThenDow n Mode 566
.........................................................................................................................................................
Dow nThenAcross Mode 568
.........................................................................................................................................................
Minimal Number of Row s in Column 571
.........................................................................................................................................................
Column Header Band 572
PrintIfEmpty Property ......................................................................................................................................... 574
.........................................................................................................................................................
Column Footer Band 574
PrintIfEmpty Property ......................................................................................................................................... 575
Header and.........................................................................................................................................................
Footer Combinations 576
AcrossThenDow .........................................................................................................................................
n Column Mode 577
Dow nThenAcross .........................................................................................................................................
Column Mode 577
20 Page...................................................................................................................................
and Column Break 578
Page Break .......................................................................................................................................................... 578
Column Break .......................................................................................................................................................... 581
Break if Less..........................................................................................................................................................
Than Property 584
.......................................................................................................................................................... 584
Skip First Property
21 Pagination
................................................................................................................................... 585
Page Number .......................................................................................................................................................... 585
.......................................................................................................................................................... 586
Total Page Count
Page NofM .......................................................................................................................................................... 586
..........................................................................................................................................................
ResetPageNumber Property 587
Sequentially..........................................................................................................................................................
Numbered Pages 589
22 Breaking
...................................................................................................................................
Component 591
.......................................................................................................................................................... 592
Breaking Bands
.......................................................................................................................................................... 593
Breaking Text
.......................................................................................................................................................... 595
Breaking Panels
.......................................................................................................................................................... 597
Breaking RichText
.......................................................................................................................................................... 598
Breaking Images
Auto-break .......................................................................................................................................................... 599
..........................................................................................................................................................
Breaking and Page Bands 600
23 Hierarchical
...................................................................................................................................
Band 600
Data Output .......................................................................................................................................................... 600
..........................................................................................................................................................
KeyDataColumn Property 601
..........................................................................................................................................................
MasterKeyDataColumn Property 602
ParentValue..........................................................................................................................................................
Property 602
.......................................................................................................................................................... 604
Indent Property
24 Child...................................................................................................................................
Band 606
© 2003-2019 Stimulsoft
Contents VII
.......................................................................................................................................................... 607
Multi Line Header
..........................................................................................................................................................
Child Band and Data 609
..........................................................................................................................................................
KeepChildTogether Property 610
25 Empty
...................................................................................................................................
Band 611
Empty Band ..........................................................................................................................................................
Modes 612
26 Watermarks
................................................................................................................................... 614
.......................................................................................................................................................... 615
Watermark Property
Overlay Band .......................................................................................................................................................... 617
.........................................................................................................................................................
Vertical Alignment Property 617
..........................................................................................................................................................
Direct Allocation on Page 619
27 Panels
................................................................................................................................... 620
Placing Bands..........................................................................................................................................................
on Panel 621
..........................................................................................................................................................
Placing Panels 621
.........................................................................................................................................................
Placing Panels on Page 621
.........................................................................................................................................................
Placing Panels on Band 622
.........................................................................................................................................................
Placing Panels on Panel 622
Side-by-Side..........................................................................................................................................................
Reports 623
..........................................................................................................................................................
Multiple Tables on One Page 625
Cloning .......................................................................................................................................................... 626
28 Cross-Tab
................................................................................................................................... 627
Data Source ..........................................................................................................................................................
Property 628
Cross Table..........................................................................................................................................................
Items 629
Columns ......................................................................................................................................................... 629
Row s ......................................................................................................................................................... 631
Summary.........................................................................................................................................................
Cells 634
.......................................................................................................................................................... 637
Cross-Tab Editor
Cross-Tab.........................................................................................................................................................
Tab 639
......................................................................................................................................................... 641
Styles Tab
Data Summary ..........................................................................................................................................................
Types 642
.......................................................................................................................................................... 642
Sort Direction
Conditions .......................................................................................................................................................... 643
.......................................................................................................................................................... 645
Show ing Totals
Processing ..........................................................................................................................................................
Values for Summary 647
Word Wrap .......................................................................................................................................................... 647
29 Charts
................................................................................................................................... 648
.......................................................................................................................................................... 659
Charts Editor
Tab Chart......................................................................................................................................................... 661
......................................................................................................................................................... 663
Tab Series
Tab Area......................................................................................................................................................... 664
......................................................................................................................................................... 666
Tab Labels
......................................................................................................................................................... 667
Tab Styles
Wizard ......................................................................................................................................................... 669
Area .......................................................................................................................................................... 676
Doughnut......................................................................................................................................................... 677
Series Labels ......................................................................................................................................... 677
Pie ......................................................................................................................................................... 678
Series Labels ......................................................................................................................................... 679
CutPieList Property ......................................................................................................................................... 681
Legend .......................................................................................................................................................... 683
......................................................................................................................................................... 683
Title Property
.........................................................................................................................................................
HorizontalAlignment Property 683
.........................................................................................................................................................
VerticalAlignment Property 685
© 2003-2019 Stimulsoft
VII
VIII Stimulsoft Reports and Dashboards User Manual
.........................................................................................................................................................
Horizontal Spacing and Vertical Spacing Properties 687
Marker ......................................................................................................................................................... 688
Direction Property ......................................................................................................................................... 688
Columns Property ......................................................................................................................................... 689
Marker Alignment .........................................................................................................................................
Property 690
......................................................................................................................................... 691
MarkerVisible Property
Axes Area .......................................................................................................................................................... 691
Axes ......................................................................................................................................................... 692
Arrow Style Property ......................................................................................................................................... 692
Labels ......................................................................................................................................... 694
Angle Property................................................................................................................................... 694
Format Property ................................................................................................................................... 695
Placement Property ................................................................................................................................... 697
TextAlignment ...................................................................................................................................
Property 699
Range Property......................................................................................................................................... 700
Visible Property......................................................................................................................................... 701
StartFromZero .........................................................................................................................................
Property 703
Ticks ......................................................................................................................................... 703
Minor ................................................................................................................................... 704
Step Property ................................................................................................................................... 705
Title Property ......................................................................................................................................... 706
Alignment Property ................................................................................................................................... 707
.........................................................................................................................................................
ReverseVertical Property 709
.........................................................................................................................................................
ReverseHorizontal Property 710
ColorEach .........................................................................................................................................................
Property 711
Series .......................................................................................................................................................... 712
......................................................................................................................................................... 712
Data Connection
Data Column ......................................................................................................................................... 712
Expressions ......................................................................................................................................... 713
......................................................................................................................................... 714
List of Values Property
AutoSeries ......................................................................................................................................................... 715
Filters ......................................................................................................................................................... 716
Conditions ......................................................................................................................................................... 719
......................................................................................................................................................... 719
Series Editor
Axis Y ......................................................................................................................................................... 721
Top N ......................................................................................................................................................... 723
Series Labels .......................................................................................................................................................... 727
.........................................................................................................................................................
Series Labels Appearance 727
Brush Property......................................................................................................................................... 727
Font Property ......................................................................................................................................... 729
LabelColor Property ......................................................................................................................................... 731
UseSeriesColor.........................................................................................................................................
Property 731
Angle Property......................................................................................................................................... 732
Draw Border Property ......................................................................................................................................... 733
BorderColor Property ......................................................................................................................................... 734
Antialiasing Property......................................................................................................................................... 735
......................................................................................................................................................... 735
Format Property
ValueType.........................................................................................................................................................
Property 738
ValueType.........................................................................................................................................................
Separator 741
.........................................................................................................................................................
PreventIntersection Property 741
.........................................................................................................................................................
Show OnZeroValues Property 742
......................................................................................................................................................... 744
Step Property
.........................................................................................................................................................
TextBefore and TextAfter Properties 745
......................................................................................................................................................... 745
Visible Property
© 2003-2019 Stimulsoft
Contents IX
© 2003-2019 Stimulsoft
IX
X Stimulsoft Reports and Dashboards User Manual
Drill-Dow .........................................................................................................................................................
n Reports Using External Report 849
.........................................................................................................................................................
Interactive Selection 850
Drill-Dow .........................................................................................................................................................
n Parameters 852
.......................................................................................................................................................... 852
Dynamic Sorting
.......................................................................................................................................................... 855
Dynamic Collapsing
Reports w ith ..........................................................................................................................................................
Contents 857
Editing .......................................................................................................................................................... 861
© 2003-2019 Stimulsoft
Contents XI
Creating.........................................................................................................................................................
Relation 1056
.........................................................................................................................................
Limitations in Creating Relations 1058
Variables .......................................................................................................................................................... 1058
.........................................................................................................................................................
Panel Request From User 1062
Items Dialog ......................................................................................................................................... 1063
Dependent Variables ......................................................................................................................................... 1064
......................................................................................................................................................... 1072
New Variable
Nullable.........................................................................................................................................................
Value 1074
List ......................................................................................................................................................... 1075
Range ......................................................................................................................................................... 1077
.........................................................................................................................................................
Three Modes of Variable Functioning 1079
Connection.......................................................................................................................................................... 1082
Panel Setup .......................................................................................................................................................... 1085
.......................................................................................................................................................... 1086
System Variables
.......................................................................................................................................................... 1087
Business Object
Resources.......................................................................................................................................................... 1090
© 2003-2019 Stimulsoft
XI
XII Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Contents XIII
..........................................................................................................................................................
Divide Segment Pages 1195
..........................................................................................................................................................
Remove Empty Space at Bottom 1195
..........................................................................................................................................................
Use One Page Header and Footer 1195
3 Formats
...................................................................................................................................
with Fixed Page Layout 1196
PDF .......................................................................................................................................................... 1196
Embedded .........................................................................................................................................................
Fonts 1199
Font Styles ......................................................................................................................................... 1199
.........................................................................................................................................................
Digital Signature 1200
Keys ......................................................................................................................................... 1200
......................................................................................................................................... 1200
Public Key Certificate
Choosing Certificate......................................................................................................................................... 1201
Placing Digital.........................................................................................................................................
Signature Identifier 1201
.........................................................................................................................................................
Encryption 1202
Passw ords and .........................................................................................................................................
Access Permission 1202
Key Length ......................................................................................................................................... 1203
.........................................................................................................................................................
Compatibility of Different Versions 1203
XPS .......................................................................................................................................................... 1204
..........................................................................................................................................................
Microsoft Pow er Point 2007/2010 1206
4 Web
...................................................................................................................................
Documents 1207
HTML .......................................................................................................................................................... 1209
......................................................................................................................................................... 1209
Export Modes
.........................................................................................................................................................
Export Images in HTML Format 1210
.........................................................................................................................................................
Compatibility of Different Versions 1210
.........................................................................................................................................................
Exporting Text Components 1210
HTML5 .......................................................................................................................................................... 1212
MHT .......................................................................................................................................................... 1212
5 Text
...................................................................................................................................
Formats 1212
TXT .......................................................................................................................................................... 1213
......................................................................................................................................................... 1214
Border Types
Column .........................................................................................................................................................
Width 1215
.........................................................................................................................................................
New Export Mode 1215
RTF .......................................................................................................................................................... 1215
......................................................................................................................................................... 1217
Export Modes
Table Mode ......................................................................................................................................... 1217
Issues ......................................................................................................................................................... 1219
.........................................................................................................................................................
Compatibility of Different Versions 1220
.......................................................................................................................................................... 1220
Word 2007/2010
Headers.........................................................................................................................................................
and Footers 1222
Page Numbering ......................................................................................................................................... 1222
ODT .......................................................................................................................................................... 1223
6 Spreadsheets
................................................................................................................................... 1225
Excel .......................................................................................................................................................... 1227
......................................................................................................................................................... 1227
Excel Sheets
.........................................................................................................................................................
Compatibility of Different Versions 1227
Excel XML .......................................................................................................................................................... 1228
.......................................................................................................................................................... 1228
Excel 2007/2010
Sheets .........................................................................................................................................................
in Excel 1228
ODS .......................................................................................................................................................... 1229
7 Data
................................................................................................................................... 1230
CSV .......................................................................................................................................................... 1231
.........................................................................................................................................................
Controlling Exports 1232
DBF .......................................................................................................................................................... 1232
© 2003-2019 Stimulsoft
XIII
XIV Stimulsoft Reports and Dashboards User Manual
.........................................................................................................................................................
Controlling Exports 1233
XML .......................................................................................................................................................... 1234
.........................................................................................................................................................
Controlling Exports 1235
DIF .......................................................................................................................................................... 1236
SYLK .......................................................................................................................................................... 1236
8 Images
................................................................................................................................... 1236
BMP .......................................................................................................................................................... 1238
GIF .......................................................................................................................................................... 1238
PNG .......................................................................................................................................................... 1239
TIFF .......................................................................................................................................................... 1239
JPEG .......................................................................................................................................................... 1239
PCX .......................................................................................................................................................... 1240
EMF .......................................................................................................................................................... 1240
SVG .......................................................................................................................................................... 1240
..........................................................................................................................................................
Compressed SVG 1241
Dither .......................................................................................................................................................... 1241
9 How...................................................................................................................................
to Create Report for Export? 1242
Index 0
© 2003-2019 Stimulsoft
Introduction 1
1 Introduction
Welcome to the online version of the documentation Stimulsoft Reports. This part of
documentation describes basic approaches in work with GUI. Here you can find the
answers on all your questions, find out about main abilities, master the skills of working
with the report designer, viewer and other utilities. Also you will learn how to use the
components for designing reports, formatting, filtering, and creating styles for reports.
© 2003-2019 Stimulsoft
2 Stimulsoft Reports and Dashboards User Manual
Export Reports:
Available File Formats
Common Export Settings
Formats with Fixed Page Layout
Spreadsheets
Data
How to Create Report for Export?
More...
The second part of the manual contains the description of non-visual parts of products
Stimulsoft.
1.1 Activation
Trial version
The free trial version of Stimulsoft Reports is a full-featured version and has no time
limit for evaluation. The only restriction is the Trial watermark that is printed on every
report page. The trial version can be used with or without a registered user account.
Registration of the account is free.
In the report designer, in the Login window, select Create account for free. Then fill in
the first name, last name, e-mail address, password. Please note that by registering a
free account you accept and agree to the terms of the license agreement.
© 2003-2019 Stimulsoft
Introduction 3
Go to the Stimulsoft website. Click the Sign Up button. Then fill in the first name,
second name, e-mail address, and password. Please note that by registering a free
account you accept and agree to the terms of the license agreement.
© 2003-2019 Stimulsoft
4 Stimulsoft Reports and Dashboards User Manual
Licensed version
Use an account for authentication in standalone report designers. If after authentication,
the Trial watermark is output on report pages, you probably do not have a license for
this product. In this case, you can do the following:
In the report designer, in the account menu, select Subscription. You will see the list
of products that you are using and the current status of the license. Select the product,
license and click on the price. You will be redirected to the purchase page. Select the
payment method and follow the steps to finish the purchase.
Login to your account, click the Purchase license button. You will be redirected to the
© 2003-2019 Stimulsoft
Introduction 5
Activation using code. In this case, in your user account you should copy the license
code and embed it in the code of your application.
Activation using the license key file. In this case, you need to download the license
file, place it in the Designer folder of the application and it will be automatically read by
the designer.
In case of any other situations or if you have any questions, please contact us.
Phone: Email:
+1-314-266-3473 [email protected]
+44-20-3287-5081 [email protected]
+372-712-2227 [email protected]
+375-29-2125706
+7-499-404-2610
Telegram: Skype:
+375-29-7175260 stimulsoft
© 2003-2019 Stimulsoft
6 Stimulsoft Reports and Dashboards User Manual
If you have problems with our products, you may contact us through our feedback
form at http://www.stimulsoft.com/support.aspx
It is possible to send questions from the standard UI of the report designer. To do this,
select the Help menu -> Support.
© 2003-2019 Stimulsoft
Introduction 7
If you are a registered user and you contact us for technical support, use the same
Email address you used when you purchased our product. Otherwise, it will be difficult
to identify you as a registered user. This can slow down our response. Please let us
know when your Email address changes.
In addition, you can download packages of products Stimulsoft from other resources:
© 2003-2019 Stimulsoft
8 Stimulsoft Reports and Dashboards User Manual
To create, store and then deploy reports in your applications, use the cloud service of
Stimulsoft https://cloud.stimulsoft.com
https://twitter.com/ https://www.linkedin.com/company/stimulsoft
stimulsoft
https://www.facebook.com/ https://www.stimulsoft.com/en/rss
Stimulsoft
https://t.me/stimulsoft +375-29-2125706
Also visit our Forum to communicate with other users of Stimulsoft Reports - http://
forum.stimulsoft.com/index.php
© 2003-2019 Stimulsoft
Introduction 9
Here you can read and discuss various topics related to tools for creating reports. For
more information about the product in other Internet resources, please use the search
engines.
2 Getting Started
This section discusses basic steps for creating various reports and showing them in a
viewer. These examples demonstrate basic functionality of the reporting tool, and
provide you with step-by-step instructions on how to create reports. We suggest that
you review the following tutorials first.
For better understanding this step-by-step instruction, please watch the video file.
4. Edit DataBand:
4.1. Align the DataBand by height;
4.2. Change values of band properties. For example, set the Can Break property to
true, if you wish the data band to be broken;
4.3. Change the DataBand background;
4.4. Enable Borders for the DataBand, if required;
4.5. Change the border color.
5. Define the data source for the DataBand using the Data Source property:
© 2003-2019 Stimulsoft
10 Stimulsoft Reports and Dashboards User Manual
8. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined
for this report. The amount of copies of the DataBand in the rendered report will be
the same as the amount of data rows in the database. The picture below shows a
sample of a simple list report:
© 2003-2019 Stimulsoft
Getting Started 11
12. Put text components with expressions in the these bands. The expression in the text
component is a title in the ReportTitleBand, and a summary in the
ReportSummaryBand.
13. Edit text and text components:
13.1. Drag and drop the text component in the band;
13.2. Change font options: size, type, color;
© 2003-2019 Stimulsoft
12 Stimulsoft Reports and Dashboards User Manual
14. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined
for this report. The amount of copies of the DataBand in the rendered report will be
the same as the amount of data rows in the database. The picture below shows a
sample of a simple list report with the title and summary:
© 2003-2019 Stimulsoft
Getting Started 13
Adding styles
© 2003-2019 Stimulsoft
14 Stimulsoft Reports and Dashboards User Manual
Designer:
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
Getting Started 15
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
4. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item. The picture below shows a sample of a rendered simple list
report with alternative color of rows:
© 2003-2019 Stimulsoft
16 Stimulsoft Reports and Dashboards User Manual
For better understanding this step-by-step instruction, please watch the video file.
3. Create Relation between data sources. If the relation will not be created and/or the
Relation property of the Detail data source will not be filled, then, for Master entry,
© 2003-2019 Stimulsoft
Getting Started 17
6. Define data sources for DataBands, a define the Master component. In our tutorial,
the Master component is the DataBand1. This means that in the Data Setup
window of the lower DataBand2, the DataBand1 will be specified as the Master
component in the Master Component tab;
7. Fill the Data Relation property of the DataBand, that is the Detail components. In
our case this DataBand2:
© 2003-2019 Stimulsoft
18 Stimulsoft Reports and Dashboards User Manual
10. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined for
this report. The amount of copies of the DataBand in the rendered report will be the
same as the amount of data rows in the database. The picture below shows a sample of
the master-detail report:
© 2003-2019 Stimulsoft
Getting Started 19
12. If needed, add other bands to the report template, for example, HeaderBand and
FooterBand;
13. Edit these bands:
13.1. Align them by height;
13.2. Change values of properties, if required;
13.3. Change the background of bands;
13.4. Enable Borders, if required;
13.5. Set the border color.
The picture below shows a simple list report template with HeaderBand and
FooterBand:
14. Put text components with expressions in the these bands. The expression in the text
component is a header in the HeaderBand, and a footer in the FooterBand.
15. Edit text and text components:
15.1. Drag and drop the text component in the band;
15.2. Change font options: size, type, color;
15.3. Align text component by height and width;
15.4. Change the background of the text component;
15.5. Align text in the text component;
15.6. Change values of text component properties, if required;
15.7. Enable Borders of the text component, if required;
15.8. Set the border color.
The picture below shows a sample of the master-detail report template:
© 2003-2019 Stimulsoft
20 Stimulsoft Reports and Dashboards User Manual
16. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined for
this report. The amount of copies of the DataBand in the rendered report will be the
same as the amount of data rows in the database. The picture below shows a sample of
the master-detail report with header and footer:
Adding styles
© 2003-2019 Stimulsoft
Getting Started 21
2. Select DataBand;
3. Change values of Even style and Odd style properties. If values of these properties
are not set, then select the Edit Styles in the list of values of these properties and,
using Style Designer, create a new style. The picture below shows the Style
Designer:
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
22 Stimulsoft Reports and Dashboards User Manual
Click Close. Then in the list of Even style and Odd style properties a new value (a style
of a list of odd and even rows).
4. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item. The picture below shows a sample of a rendered master-detail
report with alternative color of rows:
© 2003-2019 Stimulsoft
Getting Started 23
If to select the DataBand1, that is the Master component in the Master-Detail report,
then it is possible to change values of Even style
and Odd style properties. In such a case, alternative row color will be applied only for
Master entries.
For better understanding this step-by-step instruction, please watch the video file.
3. Create a report or open already created one. For example, we can take a simple list
report created in the chapter "Simple List Report".
© 2003-2019 Stimulsoft
24 Stimulsoft Reports and Dashboards User Manual
6. Set the condition data grouping in the report using the Condition property of the
GroupHeader band. Condition of grouping can be set by setting the expression or
by selecting the data column from the data source. In our tutorial, define the
{Customers.ContactTitle} expression in the condition of grouping.
7. Put a text component in the GroupHeaderBand and put the expression
{Customers.ContactTitle} into this text component. Put a text component in the
GroupFooterBand and put the expression {Count()} into this text component. The
{Count()} function will count summary by the amount of entries in each group. The
picture below shows a report template with the condition of grouping set, and text
© 2003-2019 Stimulsoft
Getting Started 25
9. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined
for this report. The amount of copies of the DataBand in the rendered report will be
the same as the amount of data rows in the database. The picture below shows a
sample of the report with grouping:
© 2003-2019 Stimulsoft
26 Stimulsoft Reports and Dashboards User Manual
Adding styles
© 2003-2019 Stimulsoft
Getting Started 27
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
28 Stimulsoft Reports and Dashboards User Manual
Click Close. Then in the list of Even style and Odd style properties a new value (a style
of a list of odd and even rows).
4. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item. The picture below shows a sample of a rendered report with
grouping and alternative color of rows:
© 2003-2019 Stimulsoft
Getting Started 29
For better understanding this step-by-step instruction, please watch the video file.
3. Set column options: the number of columns, column width, and column gap. For
example, set the number of columns equal to 2, with the gap equal to 1. The column
width is created automatically. The picture below shows a sample of the report
template with two columns:
© 2003-2019 Stimulsoft
30 Stimulsoft Reports and Dashboards User Manual
5. Edit DataBand:
5.1. Align the DataBand by height;
5.2. Change values of band properties. For example, set the Can Break property to
true, if you wish the data band to be broken;
5.3. Change the DataBand background;
5.4. Enable Borders for the DataBand, if required;
5.5. Change the border color.
6. Define the data source for the DataBand using the Data Source property:
© 2003-2019 Stimulsoft
Getting Started 31
9. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined for
this report. The amount of copies of the DataBand in the rendered report will be the
same as the amount of data rows in the database. The picture below shows a sample of
the report with two columns on a page:
Step 3 and 4 can be changed in sequence of doing. So you may put DataBand first and
then set the column options on page.
© 2003-2019 Stimulsoft
32 Stimulsoft Reports and Dashboards User Manual
13. Put text components with expressions in the these bands. The expression in the text
component is a header in the HeaderBand, and a footer in the FooterBand.
© 2003-2019 Stimulsoft
Getting Started 33
15. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined for
this report. The amount of copies of the DataBand in the rendered report will be the
same as the amount of data rows in the database. The picture below shows a sample of
the report with a header and a footer:
Adding styles
© 2003-2019 Stimulsoft
34 Stimulsoft Reports and Dashboards User Manual
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
Getting Started 35
Click Close. Then in the list of Even style and Odd style properties a new value (a style
of a list of odd and even rows).
4. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item. The picture below shows a sample of a rendered report with
columns on a page and alternative color of rows:
© 2003-2019 Stimulsoft
36 Stimulsoft Reports and Dashboards User Manual
For better understanding this step-by-step instruction, please watch the video file.
4. Define the data source for the DataBand using, for example, the Data Source
property:
5. Set column options: the number of columns, column width, and column gap. For
example, set the number of columns equal to 3, with the gap equal to 0. The column
width is created automatically. The picture below shows a sample of the report
template with two columns, placed in the DataBand:
© 2003-2019 Stimulsoft
Getting Started 37
8. Set the columns direction of data output using the Column Direction property.
Read about this property in section Report Internals -> Columns.
9. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined
for this report. The amount of copies of the DataBand in the rendered report will be
the same as the amount of data rows in the database. The picture below shows
samples of reports with columns rendered using different values of the Column
Direction property.
© 2003-2019 Stimulsoft
38 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 39
© 2003-2019 Stimulsoft
40 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 41
15. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined for
this report. The amount of copies of the DataBand in the rendered report will be the
same as the amount of data rows in the database. The picture below shows samples of
reports with column headers.
© 2003-2019 Stimulsoft
42 Stimulsoft Reports and Dashboards User Manual
Adding styles
© 2003-2019 Stimulsoft
Getting Started 43
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
44 Stimulsoft Reports and Dashboards User Manual
Click Close. Then in the list of Even style and Odd style properties a new value (a style
of a list of odd and even rows).
4. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item. The picture below shows a sample of a rendered report with
columns on a page and alternative color of rows:
© 2003-2019 Stimulsoft
Getting Started 45
© 2003-2019 Stimulsoft
46 Stimulsoft Reports and Dashboards User Manual
For better understanding this step-by-step instruction, please watch the video file.
© 2003-2019 Stimulsoft
Getting Started 47
5. Change the type of a chart using the Chart Type property. For example, set it to
Clustered Column:
6. Add series. Invoke the Series Editor, for example, by double-clicking the Chart.
© 2003-2019 Stimulsoft
48 Stimulsoft Reports and Dashboards User Manual
Click the Add Series button to add a series and select the type of series in the menu.
The picture below shows the menu of the Add Series button:
It should be noted that the type of number should match the type of chart, i.e. if the
© 2003-2019 Stimulsoft
Getting Started 49
Clustered Column chart type, then the series must be of the Clustered Column type.
8. Edit Legend:
8.1. Enable or disable the visibility of Legends. You can do it by setting the value of
the Legend.Visible property to true or false, respectively;
8.2. Align the legend horizontally and vertically;
8.3. Change the legends design, etc.
The picture below shows an example of a report template with the chart displaying the
legend:
© 2003-2019 Stimulsoft
50 Stimulsoft Reports and Dashboards User Manual
9. Change the style of the chart, i.e. completely change the appearance of the chart:
9.1. Change the Style property. Where the value of the property is a chart style;
9.2. Set the AllowApplyStyle to the true. If the AllowApplyStyle property is set
to false, then the report generator, when rendering, will take into account the values
of the appearance of the series.
The picture below shows an example of a report template of the chart with a changed
style:
10. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
The picture below shows samples of reports with the chart:
© 2003-2019 Stimulsoft
Getting Started 51
Adding styles
Click the Add Style button to start creating a style. Select Chart from the drop down
list. Set the style using Basic Color Style, Brush Type and Style Colors group of
properties.
© 2003-2019 Stimulsoft
52 Stimulsoft Reports and Dashboards User Manual
Click Close. In the list of values of the Style property of the chart component a custom
style will be displayed. In our case, the value is Style for Chart. Select this value;
3. Click the Preview button or invoke the Viewer, clicking the Preview menu item. The
picture below shows samples of reports with the chart with a style applied:
© 2003-2019 Stimulsoft
Getting Started 53
For better understanding this step-by-step instruction, please watch the video file.
Suppose a Chart component is placed on the page of the report, then, for a report, this
component will be rendered as a page item. If the Chart component is placed in the
DataBand, then, when rendering a report, this component will be rendered as part of
the DataBand. Since the Chart component placed in the DataBand, is rendered as a
part of the DataBand, and will be printed as many times as the DataBand will be
output. An example of designing a report with a chart in the DataBand will be
described below. In this example, the chart will graphically display the detailed data of
the data source in the DataBand. Follow the steps below in order to render a report
with the Chart in the DataBand:
3. Create a Relation between data sources. In this case, the Parent Data Source is the
Categories data source, and the Child Data Source is the Products data source;
4. Put the DataBand on a report template page:
5. Edit DataBand:
5.1. Align the DataBand by height;
5.2. Change values of band properties. For example, set the Can Break property to
true, if you wish the data band to be broken;
5.3. Change the DataBand background;
5.4. Enable Borders for the DataBand, if required;
5.5. Change the border color.
6. Define the data source for the DataBand using the Data Source property:
© 2003-2019 Stimulsoft
54 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 55
9. Change the type of a chart using the Chart Type property. For example, set it to
Clustered Column:
10. Define the data source for the Chart component using the Data Source property
11. Define the relation between data sources, using the DataRelation property of the
Chart component:
12. Add series. Invoke the Series Editor, for example, by double-clicking the Chart:
© 2003-2019 Stimulsoft
56 Stimulsoft Reports and Dashboards User Manual
15. Change the style of the chart, i.e. completely change the appearance of the chart:
© 2003-2019 Stimulsoft
Getting Started 57
15.1. Change the Style property. Where the value of the property is a chart style;
15.2. Set the AllowApplyStyle to the true. If the AllowApplyStyle property is set
to false, then the report generator, when rendering, will take into account the values
of the appearance of the series.
The picture below shows an example of a report template of the chart with a changed
style:
16. Put text components with an expression in the DataBand. Where the expression is
a reference to the data field. For example, put a text component with the expression:
{Categories.CategoryName};
17. Edit Text and TextBox component:
17.1. Drag and drop the text component in the DataBand;
17.2. Change parameters of the text font: size, type, color;
17.3. Align the text component by width and height;
17.4. Change the background of the text component;
17.5. Align text in the text component;
17.6. Change the value of properties of the text component. For example, set the
Word Wrap property to true, if you need a text to be wrapped;
17.7. Enable Borders for the text component, if required.
17.8. Change the border color.
© 2003-2019 Stimulsoft
58 Stimulsoft Reports and Dashboards User Manual
18. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
The picture below shows a sample of the report with the chart in the DataBand:
© 2003-2019 Stimulsoft
Getting Started 59
© 2003-2019 Stimulsoft
60 Stimulsoft Reports and Dashboards User Manual
Adding styles
© 2003-2019 Stimulsoft
Getting Started 61
Click the Add Style button to start creating a style. Select Chart from the drop down
list. Set the style using Basic Color Style, Brush Type and Style Colors group of
properties.
Click Close. In the list of values of the Style property of the chart component a custom
style will be displayed. In our case, the value is Style for Chart. Select this value;
© 2003-2019 Stimulsoft
62 Stimulsoft Reports and Dashboards User Manual
3. Click the Preview button or invoke the Viewer, clicking the Preview menu item. The
picture below shows samples of reports with the chart with a style applied:
© 2003-2019 Stimulsoft
Getting Started 63
For better understanding this step-by-step instruction, please watch the video file.
© 2003-2019 Stimulsoft
64 Stimulsoft Reports and Dashboards User Manual
2. Connect data:
2.1. Create New Connection;
2.2. Create New Data Source;
5. Define the data source for the Cross-Tab component of the band, for example, using
the Data Source property:
6. Invoke the Cross-Tab Designer, for example, clicking the Design... item of the
context menu of the cross table component. The picture below shows the Cross-Tab
Designer window:
© 2003-2019 Stimulsoft
Getting Started 65
The DataSource field shows the data columns of the selected data source;
The Columns field shows a list of columns of the data source by what the columns in
the cross table will be created;
The Rows field shows a list of rows of the data source by what the rows in the cross
table will be created;
The Summary field shows a list of columns of the data source by what the summary
in the cross table will be created;
The Properties field shows the properties of the selected item of the cross table;
The Cross-Tab Cells field shows cells of the cross table;
The Select Style button. When clicking the drop down list of styles for the cross
table appear.
© 2003-2019 Stimulsoft
66 Stimulsoft Reports and Dashboards User Manual
8. Press the OK button in order to save your changes and go back to the report
template with cross-table.
9. Click the Preview button or invoke the Viewer, clicking the Preview menu item. The
picture below shows a rendered cross-tab report:
© 2003-2019 Stimulsoft
Getting Started 67
11.3. Set the Word Wrap property to true if it is necessary to wrap text;
11.4. Switch on/off Borders;
11.5. Set the border color;
11.6. Set the background of cells etc.
12. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
The picture below shows a report of the rendered report with the cross table after
editing report template cells:
Adding styles
© 2003-2019 Stimulsoft
68 Stimulsoft Reports and Dashboards User Manual
Click the Add Style button to start creating a style. Select Cross-Tab from the drop
down list. To create the custom style, set the Color property. The picture below shows a
sample of the Style Designer with created custom style:
© 2003-2019 Stimulsoft
Getting Started 69
Click Close. In the list of values of the Select Style button in the cross-table editor, a
custom style will be displayed. In our case, the name is Style for Cross-Tab. Select this
value;
3. Click the Preview button or invoke the Viewer, clicking the Preview menu item. The
picture below shows a sample of the rendered cross-table report using the custom
style:
© 2003-2019 Stimulsoft
70 Stimulsoft Reports and Dashboards User Manual
For better understanding this step-by-step instruction, please watch the video file.
If the Cross-Tab component is placed in the DataBand, then when designing a report,
this component will be constructed as part of the DataBand. Because the Cross-Tab
component placed in the DataBand is designed as an element of the DataBand, then,
when designing a report, this component will be printed as many times as the
DataBand. Consider an example of building a report with the Cross-Tab in the
DataBand. In this example, Cross-Tab will display the detailed entries in the Master-
Detail report. Do the following steps in order to build a report with the Cross-Tab in
the DataBand:
3. Create the Relation between data sources. If the Relation is not created and/or the
Relation property will be not filled for the Detail data source, then, for each Master
entries, all Detail entries will not be output;
4. Put two DataBands on a page of a report template;
© 2003-2019 Stimulsoft
Getting Started 71
6. Specify data sources for DataBands, as well as assign the Master component. In our
example, the Master component is the upper DataBand1, and hence indicate the
DataBand1 in the Master Component tab of the Data Setup dialog box of the lower
DataBand2 as the Master component;
7. Fill in the Data Relation property of the DataBand, which is the Detail component,
in our case, this is the DataBand2:
8. Put the text component with an expression. Where the expression is a reference to
the data field. For example: the DataBand1, that is the Master component, put the text
component with the {Categories.CategoryName} expression;
9. Edit text and text components located in the DataBand:
9.1. Drag the text component to the required place in the DataBand;
9.2. Align the text in a text component;
9.3. Change the value of the required properties. For example to set the Word Wrap
property to true, if you want the text be wrapped;
9.4. Set Borders of a text component, if required.
9.5. Change the border color.
© 2003-2019 Stimulsoft
72 Stimulsoft Reports and Dashboards User Manual
10. Put the Cross-Tab component in the DataBand. In this case, the Cross-Tab
component will be located on the DataBand2, that is the Detail component of the
report.
12. Specify the data source for the band of the Cross-Tab component, for example,
using the Data Source:
13. Call the Cross-Tab Designer, for example, by selecting Edit .. (Design..) of the
context menu of the cross-table component.
© 2003-2019 Stimulsoft
Getting Started 73
The DataSource field. This field displays data columns of the selected data source;
The Columns field. This field displays a list of columns of the data source for the
entries by which columns in the cross-table will be formed;
The Rows field. This field displays a list of columns of the data source for the entries
by which lines in the cross-table will be formed;
The Summary field. This field displays a list of columns of the data source for the
entries by which summaries in the cross-table will be formed;
The Properties field. This field displays the properties of the selected element of
cross-table;
The Cross-Tab Cells field. This field displays cells of the cross-table;
The Description field. This field displays a short description of the selected
properties of the cross-table item;
The Select Style button. When you click, the drop-down list of styles appears for the
cross-table.
© 2003-2019 Stimulsoft
74 Stimulsoft Reports and Dashboards User Manual
the cross-table. Add a data column from the DataSource field to the Columns field
of the cross-table. For example, add the CategoryID data column of data to the
Columns field of the cross-table, and then one entry from this data column will
correspond to one column in the rendered cross-table;
14.2. Add a data column of the data source from the DataSource field to the
Rows field of the cross-table. For example, add the ProductName data column to
the Rows field of the cross-table, and then one entry from this data column will
correspond to one row in the rendered cross-table, i.e. the number of entries in this
data column will be equal to the number of rows in the cross-table;
14.3. Add a data column from the DataSource field to the Summary field of
the cross-table. For example, add the UnitInStock data column to the Summary
field of the cross-table, i.e. entries in this data column will be summary entries in the
cross-table;
15. Press the OK button in order to save your changes and go back to the report
template with the cross-table.
16. Render a report. Click the Preview button or call the Viewer by selecting the
Preview of the menu item. The picture below shows an example of the cross-table
report:
© 2003-2019 Stimulsoft
Getting Started 75
© 2003-2019 Stimulsoft
76 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 77
19.3. Set the Word Wrap property to true, if you want the text to be wrapped;
19.4. Set Borders if necessary;
19.5. Change the border color.
19.6. Change the background color of cells, etc.
20. Render a report. Click the Preview button or call the Viewer by clicking the
Preview menu item. The picture below shows an example of the cross-table report
after editing cells of the report template:
© 2003-2019 Stimulsoft
78 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 79
Adding styles
© 2003-2019 Stimulsoft
80 Stimulsoft Reports and Dashboards User Manual
Click the Add Style button to start creating a style. Select Cross-Tab from the drop
down list. Call the new style as Style for Cross-Tab. To create a custom style it is
necessary to change the Color property, where the value of this property and is a color
scheme.
© 2003-2019 Stimulsoft
Getting Started 81
After the style is created, press the Close button. In the list of values of the Select Style
button in the editor of the cross-table, a custom style will be displayed. In our case, this
is the Style for Cross-Tab. Select this value;
3. Render a report. Click the Preview button or call the Viewer by selecting the
Preview menu item. Now you can see the result of the rendered report:
© 2003-2019 Stimulsoft
82 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 83
For better understanding this step-by-step instruction, please watch the video file.
© 2003-2019 Stimulsoft
84 Stimulsoft Reports and Dashboards User Manual
2. Connect data:
2.1. Create New Connection;
2.2. Create New Data Source;
5. Set the data source of the HierarchicalBand using the Data Source property:
© 2003-2019 Stimulsoft
Getting Started 85
8. Set the KeyDataColum property, i.e. select a data column on which an identification
number of the data row will be assigned. In this case, select the EmployeeID data
column:
9. Set the MasterKeyDataColum property, i.e. select a data column on which the
reference to the table's primary key of the parent entry will be specified. In this case,
select the ReportsTo data column:
10. Set the Indent property, i.e. set an offset of the detail entry in relation to the parent
one. In this example, the Indent property will be 20 units in the report (centimeters,
inches, hundredths of inches, pixels);
11. Set the ParentValue property, i.e. indicate the entry, which will be a parent for all
rows. If this property is not specified, the default value is used. By default, the Parent
Value property is set to null. In this case, the value of the ParentValue property is not
specified, so the default value is used:
12. Click the Preview button or call Viewer, using the Preview menu item. After
rendering a report, all references to data sources will be replaced with data from these
sources. Data will be taken sequentially from the data source, which has been specified
for this band. Number of copies of the DataBand in the report is equal to the number
of rows in the data source.
© 2003-2019 Stimulsoft
86 Stimulsoft Reports and Dashboards User Manual
16. Put text components with the expressions. Where expressions in text components in
the HeaderBand will be the data headers;
17. Edit text and text components:
17.1. Drag the text component to the required place in the band;
17.2. Set the font settings: size, style, color;
17.3. Align the text component vertically and horizontally;
17.4. Set the background color of the text component;
17.5. Align the text in a text component;
17.6. Set the value of properties of a text component, if necessary;
17.7. If necessary, set Borders of a text component;
17.8. Set the border color.
© 2003-2019 Stimulsoft
Getting Started 87
18. Click the Preview button or call Viewer, using the Preview menu item. After
rendering a report, all references to data sources will be replaced with data from these
sources:
Adding styles
© 2003-2019 Stimulsoft
88 Stimulsoft Reports and Dashboards User Manual
3. To get started, you must click the Add Condition button and in the Conditions
dialog box the condition and formatting options will be displayed. The condition can
be of two types: Value and Expression. In this case, consider an example of a
condition, such as Expression. The picture below shows an example of Conditions
dialog box with options and conditions of formatting:
© 2003-2019 Stimulsoft
Getting Started 89
4. Specify the options of conditional formatting. In this case, to specify the condition
means to specify the expression. For example, Line% 2 == 1, and set the formatting
means to change the background, for example, by pressing the Back Color button
and selecting the drop-down list of values of the background color.
5. Click OK. It should also be noted that in order to odd and even rows have different
styles, it is necessary to make a conditional formatting of each text component;
6. Render a report by clicking on the Preview tab or call the Viewer clicking the
Preview menu item.
© 2003-2019 Stimulsoft
90 Stimulsoft Reports and Dashboards User Manual
For better understanding this step-by-step instruction, please watch the video file.
© 2003-2019 Stimulsoft
Getting Started 91
8. Specify the data source for the DataBand using the Data Source property:
11. Click the Preview button or call Viewer, using the Preview menu item to see how
the report will look like.
© 2003-2019 Stimulsoft
92 Stimulsoft Reports and Dashboards User Manual
As can be seen from the picture above, the report generator rendered the report, which
was located in the nested page and placed it on the report page but not in the Sub-
Report component.
© 2003-2019 Stimulsoft
Getting Started 93
15. Put a text component with expression where the expression of the text component
in the PageHeaderBand will be the page title.
16. Edit the text component:
16.1. Drag the text component to the required place in the band;
16.2. Set the text font: size, style, color;
16.3. Align text component vertically and horizontally;
16.4. Set the background color of the text component;
16.5. Align text in the component;
16.6. Set values of the properties of text components;
16.7. Set Borders of a text component.
16.8. Set the border color.
17. Click the Preview button or call Viewer, using the Preview menu item to see how
the report will look like.
© 2003-2019 Stimulsoft
94 Stimulsoft Reports and Dashboards User Manual
Adding styles
© 2003-2019 Stimulsoft
Getting Started 95
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
96 Stimulsoft Reports and Dashboards User Manual
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
5. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item. The picture below shows a sample of a rendered sub-report with
alternative color of rows:
© 2003-2019 Stimulsoft
Getting Started 97
For better understanding this step-by-step instruction, please watch the video file.
The Side-by-side report is a type of independent data lists, located side by side. Do the
following steps to create such a report:
© 2003-2019 Stimulsoft
98 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 99
8. Specify the data source for the DataBand using the Data Source property. For
example, set the Customers data source for the DataBand1, and the Products data
source for the DataBand2:
11. Click the Preview button or call Viewer, using the Preview menu item to see how
the report will look like:
© 2003-2019 Stimulsoft
100 Stimulsoft Reports and Dashboards User Manual
As can be seen from the picture above, the report generator rendered the report, which
was located in the nested page and placed it on the report page but not in the Sub-
Report component.
15. Put a text component with expression where the expression of the text component
in the HeaderBand will be the page title.
16. Edit the text component:
© 2003-2019 Stimulsoft
Getting Started 101
16.1. Drag the text component to the required place in the band;
16.2. Set the text font: size, style, color;
16.3. Align text component vertically and horizontally;
16.4. Set the background color of the text component;
16.5. Align text in the component;
16.6. Set values of the properties of text components;
16.7. Set Borders of a text component.
16.8. Set the border color.
17. Click the Preview button or call Viewer, using the Preview menu item to see how
the report will look like:
Adding styles
© 2003-2019 Stimulsoft
102 Stimulsoft Reports and Dashboards User Manual
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
Getting Started 103
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
5. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item. The picture below shows a sample of a rendered side-by-side
report with alternative color of rows:
© 2003-2019 Stimulsoft
104 Stimulsoft Reports and Dashboards User Manual
For better understanding this step-by-step instruction, please watch the video file.
4. Edit DataBand:
4.1. Align the DataBand by height;
© 2003-2019 Stimulsoft
Getting Started 105
4.2. Change values of band properties. For example, set the Can Break property to
true, if you wish the data band to be broken;
4.3. Change the DataBand background color;
4.4. Enable Borders for the DataBand, if required;
4.5. Change the border color.
5. Define the data source for the DataBand using the Data Source property. For
example, define the Categories data source for the DataBand:
© 2003-2019 Stimulsoft
106 Stimulsoft Reports and Dashboards User Manual
11. Specify the data source for the DataBand using the Data Source property. For
example, set the Customers data source for the DataBand1, and the Products data
source for the DataBand2:
12. Put text components with expressions in the DataBands. Where an expression is a
reference to a data field. For example, put the following expressions to the DataBand1:
{Customers.CompanyName} and {Customers.City}. put the following expressions to
the DataBand2: {Products.ProductName} and {Products.UnitPrice};
14. Click the Preview button or call Viewer, using the Preview menu item to see how
the report will look like:
© 2003-2019 Stimulsoft
Getting Started 107
© 2003-2019 Stimulsoft
108 Stimulsoft Reports and Dashboards User Manual
18. Put a text component with expression where the expression of the text component
in the HeaderBand will be the page title.
19. Edit the text component:
19.1. Drag the text component to the required place in the band;
19.2. Set the text font: size, style, color;
19.3. Align text component vertically and horizontally;
19.4. Set the background color of the text component;
19.5. Align text in the component;
19.6. Set values of the properties of text components;
19.7. Set Borders of a text component.
19.8. Set the border color.
20. Click the Preview button or call Viewer, using the Preview menu item to see how
the report will look like:
© 2003-2019 Stimulsoft
Getting Started 109
Adding styles
© 2003-2019 Stimulsoft
110 Stimulsoft Reports and Dashboards User Manual
using Style Designer, create a new style. The picture below shows the Style
Designer.
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
Getting Started 111
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
5. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item. The picture below shows a sample of a rendered report with sub-
report and alternative color of rows:
© 2003-2019 Stimulsoft
112 Stimulsoft Reports and Dashboards User Manual
For better understanding this step-by-step instruction, please watch the video file.
© 2003-2019 Stimulsoft
Getting Started 113
2. Connect data:
2.1. Create New Connection;
2.2. Create New Data Source;
3. Create Relation between data sources. If the relation will not be created and/or the
Relation property of the Detail data source will not be filled, then, for Master entry,
all Detail entries will be output;
4. Put the DataBand1 on a page of a report template:
5. Edit DataBand1:
5.1. Align the DataBand1 by height;
5.2. Change values of band properties. For example, set the Can Break property to
true, if you wish the data band to be broken;
5.3. Change the DataBand1 background color;
5.4. Enable Borders for the DataBand1, if required;
5.5. Change the border color.
6. Define the data source for the DataBand1 using the Data Source property. For
example, define the Categories data source for the DataBand2:
© 2003-2019 Stimulsoft
114 Stimulsoft Reports and Dashboards User Manual
14. Define the data source for the DataBand1 using the Data Source property. For
example, define the Products data source for the DataBand2:
15. Define the Master component in a report. In our case set the DataBand1 as a
© 2003-2019 Stimulsoft
Getting Started 115
19. Click the Preview button or call Viewer, using the Preview menu item to see how
the report will look like:
© 2003-2019 Stimulsoft
116 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 117
23. Put a text component with expression where the expression of the text component
in the HeaderBand will be the page title.
24. Edit the text component:
24.1. Drag the text component to the required place in the band;
24.2. Set the text font: size, style, color;
24.3. Align text component vertically and horizontally;
24.4. Set the background color of the text component;
24.5. Align text in the component;
24.6. Set values of the properties of text components;
24.7. Set Borders of a text component.
24.8. Set the border color.
25. Click the Preview button or call Viewer, using an F5 hot key or the Preview menu
item to see how the report will look like:
© 2003-2019 Stimulsoft
118 Stimulsoft Reports and Dashboards User Manual
Adding styles
© 2003-2019 Stimulsoft
Getting Started 119
using Style Designer, create a new style. The picture below shows the Style
Designer.
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
120 Stimulsoft Reports and Dashboards User Manual
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
5. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item. The picture below shows a sample of a rendered "master-detail
report with sub-report" with alternative color of rows:
© 2003-2019 Stimulsoft
Getting Started 121
For better understanding this step-by-step instruction, please watch the video file.
The EmptyBand is used to fill free space at the bottom of a page. This tutorial
describes how to create a report with the EmptyBand:
© 2003-2019 Stimulsoft
122 Stimulsoft Reports and Dashboards User Manual
3. Design a report or load a previously saved one. Consider creating a report with the
EmptyBand on the base of the Master-Detail report. Suppose there is a Master-
Detail report in which data is printed on half of a page, then to fill the empty space you
can use the EmptyBand. The picture below shows the rendered Master-Detail report:
© 2003-2019 Stimulsoft
Getting Started 123
7. Put text components with an expression in the EmptyBand. Where the expression is
a reference to the data field. For example, put a text component with the expression:
{Line};
8. Edit Text and TextBox component:
8.1. Drag and drop the text component in the EmptyBand;
8.2. Change parameters of the text font: size, type, color;
8.3. Align the text component by width and height;
8.4. Change the background of the text component;
8.5. Align text in the text component;
8.6. Change the value of properties of the text component. For example, set the
WordWrap property to true, if you need a text to be wrapped;
8.7. Enable Borders for the text component, if required.
8.8. Change the border color.
© 2003-2019 Stimulsoft
124 Stimulsoft Reports and Dashboards User Manual
9. Click the Preview button or invoke the Viewer, pressing the Preview menu item.
The picture below shows a sample of the report:
As can be seen in the picture above blank lines will be numbered and output in the
report.
Adding styles
© 2003-2019 Stimulsoft
Getting Started 125
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
126 Stimulsoft Reports and Dashboards User Manual
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
5. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item. The picture below shows a sample of a rendered report:
© 2003-2019 Stimulsoft
Getting Started 127
For better understanding this step-by-step instruction, please watch the video file.
The Drill-Down report using the pages in the report is an interactive report in what
detailed data are placed on the page of a report and the relation between master and
detailed data in the report is organized with the help of the Interaction.Drill-Down
Page property. This type of report must contain at least two pages: a one with master
data, and a second with detailed ones. Follow the steps below in order to design the
report:
3. Put the DataBand1 on the Page1 and DataBand2 on Page2 of a report. In this
case, the master data will be located on the first page, and detailed - on the second
page.
© 2003-2019 Stimulsoft
128 Stimulsoft Reports and Dashboards User Manual
5. Define a data source for DataBands using the Data Source property:
6. Put the text components with expressions. Where the expression is a reference to the
data field. For example: put the text component with the {Categories.CategoryName}
expression in the DataBand1, and put two text components with the
{Products.ProductName} and {Products.UnitePrice} expressions in the DataBand2;
7. Edit text and text components located in the DataBands:
7.1. Drag the text component to the required place in the DataBands;
7.2. Align the text in a text component;
7.3. Change the value of the required properties. For example to set the Word Wrap
property to true, if you want the text be wrapped;
7.4. Set Borders of a text component, if required.
7.5. Change the border color.
© 2003-2019 Stimulsoft
Getting Started 129
When you click the Beverages, the user will see the detailed data that correspond to
filtering conditions and parameters of detailing. The picture below shows a page of a
rendered report with detailed data of the Beverages entry:
© 2003-2019 Stimulsoft
130 Stimulsoft Reports and Dashboards User Manual
17. Put a text component with an expression in this band. The expression in the text
component is a header in the HeaderBand.
18. Edit text and text components:
18.1. Drag and drop the text component in the band;
18.2. Change font options: size, type, color;
18.3. Align text component by height and width;
© 2003-2019 Stimulsoft
Getting Started 131
19. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined for
this report. The amount of copies of the DataBand in the rendered report will be the
same as the amount of data rows in the database. The picture below shows the
structure of a report, i.e. shows the ratio of detailed data to the master Condiments
entry:
Adding styles
© 2003-2019 Stimulsoft
132 Stimulsoft Reports and Dashboards User Manual
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
Getting Started 133
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
5. The picture below shows the structure of a report, i.e. shows the ratio of detailed data
to the Confections master entry with different styles even/odd rows of the DataBand:
© 2003-2019 Stimulsoft
134 Stimulsoft Reports and Dashboards User Manual
For better understanding this step-by-step instruction, please watch the video file.
Drill-Down report using external report is an interactive report in what detailed data are
placed in an external report and the relationship between master and detailed data in
reports is organized using the Interaction.Drill-Down Report property. Follow the
steps below in order to design the report:
© 2003-2019 Stimulsoft
Getting Started 135
5. Specify the data source in DataBand using the Data Source property:
6. Put text components with expressions in the DataBand. Where the expression is a
reference to the data field. For example: put two text components with the
{Products.ProductName} and {Products.UnitePrice} expressions in the DataBand;
7. Edit text and text components located in the DataBand:
7.1. Drag the text component to the required place in the DataBand;
7.2. Align the text in a text component;
7.3. Change the value of the required properties. For example to set the Word Wrap
property to true, if you want the text be wrapped;
7.4. Set Borders of a text component, if required;
7.5. Change the border color.
8. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined for
this report. The amount of copies of the DataBand in the rendered report will be the
same as the amount of data rows in the database. The picture below shows a sample of
a report:
© 2003-2019 Stimulsoft
136 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 137
12. Put a text component with an expression in this band. The expression in the text
component is a header in the HeaderBand.
13. Edit text and text components:
13.1. Drag and drop the text component in the band;
13.2. Change font options: size, type, color;
13.3. Align text component by height and width;
13.4. Change the background of the text component;
13.5. Align text in the text component;
13.6. Change values of text component properties, if required;
13.7. Enable Borders of the text component, if required;
13.8. Set the border color.
14. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined for
this report. The amount of copies of the DataBand in the rendered report will be the
same as the amount of data rows in the database. The picture below shows a sample of
a report:
© 2003-2019 Stimulsoft
138 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 139
5. Specify the data source in DataBand using the Data Source property:
6. Put a text component with expressions in the DataBand. Where the expression is a
reference to the data field. For example: put the text component with the
{Categories.CategoryName} expression in the DataBand;
7. Edit text and text components located in the DataBand:
7.1. Drag the text component to the required place in the DataBand;
7.2. Align the text in a text component;
7.3. Change the value of the required properties. For example to set the Word Wrap
property to true, if you want the text be wrapped;
7.4. Set Borders of a text component, if required;
7.5. Change the border color.
8. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined for
this report. The amount of copies of the DataBand in the rendered report will be the
same as the amount of data rows in the database. The picture below shows a sample of
a report:
© 2003-2019 Stimulsoft
140 Stimulsoft Reports and Dashboards User Manual
6. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined for
© 2003-2019 Stimulsoft
Getting Started 141
this report. The amount of copies of the DataBand in the rendered report will be the
same as the amount of data rows in the database. The picture below shows a sample of
a report:
When you click the Beverages, the user will see the detailed data that correspond to
filtering conditions and parameters of detailing. The picture below shows a page of a
rendered report with detailed data of the Beverages entry:
© 2003-2019 Stimulsoft
142 Stimulsoft Reports and Dashboards User Manual
Adding styles
© 2003-2019 Stimulsoft
Getting Started 143
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
144 Stimulsoft Reports and Dashboards User Manual
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
© 2003-2019 Stimulsoft
Getting Started 145
For better understanding this step-by-step instruction, please watch the video file.
If it is necessary to display data from only one entry of the data source or data from
variables or other data sources that are not lists, the report can be created without the
bands. In this case, components are placed directly on a report page.
© 2003-2019 Stimulsoft
146 Stimulsoft Reports and Dashboards User Manual
5. Put TextBoxes with the text on a page. In this report, put 15 Text components. The
TextBox1 contains the {Time} system variable, which will display the current time and
date. 2-8 TextBoxes contain the row names in the address box, and 9-15 TextBoxes
will include links to data sources;
6. Edit text and text components:
6.1. Drag and drop the text component in the band;
6.2. Change font options: size, type, color;
6.3. Align text component by height and width;
6.4. Change the background of the text component;
6.5. Align text in the text component;
6.6. Change values of text component properties, if required;
6.7. Enable Borders of the text component, if required;
6.8. Set the border color.
7. Click the Preview button or invoke the Viewer, clicking the Preview menu item:
© 2003-2019 Stimulsoft
Getting Started 147
© 2003-2019 Stimulsoft
148 Stimulsoft Reports and Dashboards User Manual
10. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
For better understanding this step-by-step instruction, please watch the video file.
If you want to design a report, for example, with the cover page, the report template will
consist of minimum two pages: the cover page and page with data. Creating a report
with several pages in the template includes the following steps:
© 2003-2019 Stimulsoft
Getting Started 149
5. On the report page Text components should be placed. We put 9 text components on
this page. TextBox1 will contain the Report on Employees text, which is the title of
the report. TextBoxes 2-5 will contain names in the address box, and TextBoxes 6-9
will contain references to the source data;
6. Edit text and text components:
6.1. Drag and drop the text component in the band;
6.2. Change font options: size, type, color;
6.3. Align text component by height and width;
6.4. Change the background of the text component;
6.5. Align text in the text component;
6.6. Change values of text component properties, if required;
6.7. Enable Borders of the text component, if required;
6.8. Set the border color.
© 2003-2019 Stimulsoft
150 Stimulsoft Reports and Dashboards User Manual
7. Click the Preview button or invoke the Viewer, clicking the Preview menu item:
© 2003-2019 Stimulsoft
Getting Started 151
© 2003-2019 Stimulsoft
152 Stimulsoft Reports and Dashboards User Manual
10. Create a second page in a report template and start editing it;
2. Edit DataBand:
2.1. Align the DataBand by height;
© 2003-2019 Stimulsoft
Getting Started 153
2.2. Change values of band properties. For example, set the Can Break property to
true, if you wish the data band to be broken;
2.3. Change the DataBand background;
2.4. Enable Borders for the DataBand, if required;
2.5. Change the border color.
3. Specify the data source in the DataBand using the Data Source property:
6. Add other bands to the report template, for example, the HeaderBand;
7. Edit this bands:
7.1. Align it by height;
7.2. Change values of properties, if required;
7.3. Change the background of bands;
7.4. Enable Borders, if required;
7.5. Set the border color.
© 2003-2019 Stimulsoft
154 Stimulsoft Reports and Dashboards User Manual
8. Put text components with expressions in the band. The expression in the text
component is a header in the HeaderBand.
9. Edit text and text component:
9.1. Drag and drop the text component in the band;
9.2. Change font options: size, type, color;
9.3. Align text component by height and width;
9.4. Change the background of the text component;
9.5. Align text in the text component;
9.6. Change values of text component properties, if required;
9.7. Enable Borders of the text component, if required;
9.8. Set the border color.
9. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined for
this report. The amount of copies of the DataBand in the rendered report will be the
same as the amount of data rows in the database.
© 2003-2019 Stimulsoft
Getting Started 155
© 2003-2019 Stimulsoft
156 Stimulsoft Reports and Dashboards User Manual
Adding Styles
© 2003-2019 Stimulsoft
Getting Started 157
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
158 Stimulsoft Reports and Dashboards User Manual
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
4. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item.
© 2003-2019 Stimulsoft
Getting Started 159
© 2003-2019 Stimulsoft
160 Stimulsoft Reports and Dashboards User Manual
If data in a report should be placed on a single page by width or height, and a page size
is small, you can add the required number of segments by width and/or height. In this
case, one segment is a whole page and summary page consists of several segments
across by width or height. In order to design a report with segmented pages, follow the
steps below:
3. Define the number of segments by height and/or width. For example, set the
Segment per Height property to 2, i.e. the number of segments by height is 2.
© 2003-2019 Stimulsoft
Getting Started 161
5. Edit DataBand:
5.1. Align the DataBand by height;
5.2. Change values of band properties. For example, set the Can Break property to
true, if you wish the data band to be broken;
5.3. Change the DataBand background;
5.4. Enable Borders for the DataBand, if required;
5.5. Change the border color.
6. Specify the data source in the DataBand using the Data Source property:
9. Click the Preview button or invoke the Viewer, pressing F5 or clicking the Preview
menu item. After rendering all references to data fields will be changed on data form
specified fields. Data will be output in consecutive order from the database that was
defined for this report. The amount of copies of the DataBand in the rendered report
© 2003-2019 Stimulsoft
162 Stimulsoft Reports and Dashboards User Manual
10. Add other bands to the report template, for example, the HeaderBand;
11. Edit this bands:
11.1. Align it by height;
11.2. Change values of properties, if required;
11.3. Change the background of bands;
© 2003-2019 Stimulsoft
Getting Started 163
12. Put text components with expressions in the band. The expression in the text
component is a header in the HeaderBand.
13. Edit text and text component:
13.1. Drag and drop the text component in the band;
13.2. Change font options: size, type, color;
13.3. Align text component by height and width;
13.4. Change the background of the text component;
13.5. Align text in the text component;
13.6. Change values of text component properties, if required;
13.7. Enable Borders of the text component, if required;
13.8. Set the border color.
14. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
© 2003-2019 Stimulsoft
164 Stimulsoft Reports and Dashboards User Manual
Adding Styles
© 2003-2019 Stimulsoft
Getting Started 165
using Style Designer, create a new style. The picture below shows the Style
Designer:
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
166 Stimulsoft Reports and Dashboards User Manual
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
4. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item.
© 2003-2019 Stimulsoft
Getting Started 167
For better understanding this step-by-step instruction, please watch the video file.
Primitives are: Horizontal Line, Vertical Line, Rectangle and Rounded Rectangle.
© 2003-2019 Stimulsoft
168 Stimulsoft Reports and Dashboards User Manual
Besides, you may use the Shape component. When placing a primitive on a page, the
primitive will be rendered as a page item. In order to design a report with primitives on
a page, follow the steps below:
4. Edit DataBand:
4.1. Align the DataBand by height;
4.2. Change values of band properties. For example, set the Can Shrink property to
true, if you wish the data band to be broken;
4.3. Change the DataBand background;
4.4. Enable Borders for the DataBand, if required;
4.5. Change the border color.
5. Define the data source for the DataBand using the Data Source property:
© 2003-2019 Stimulsoft
Getting Started 169
8. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
© 2003-2019 Stimulsoft
170 Stimulsoft Reports and Dashboards User Manual
11. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
© 2003-2019 Stimulsoft
Getting Started 171
© 2003-2019 Stimulsoft
172 Stimulsoft Reports and Dashboards User Manual
15. Put text components with expressions in the this band. The expression in the text
component is a header in the HeaderBand.
16. Edit text and text components:
16.1. Drag and drop the text component in the band;
16.2. Change font options: size, type, color;
16.3. Align text component by height and width;
16.4. Change the background of the text component;
16.5. Align text in the text component;
16.6. Change values of text component properties, if required;
16.7. Enable Borders of the text component, if required;
16.8. Set the border color.
© 2003-2019 Stimulsoft
Getting Started 173
17. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined for
this report. The amount of copies of the DataBand in the rendered report will be the
same as the amount of data rows in the database.
For better understanding this step-by-step instruction, please watch the video file.
Primitives are: Horizontal Line, Vertical Line, Rectangle and Rounded Rectangle.
Besides, you may use the Shape component. When placing a primitive on a band, the
primitive will be rendered on a page as many times as the band will be printed. In order
to design a report with primitives on a band, follow the steps below:
© 2003-2019 Stimulsoft
174 Stimulsoft Reports and Dashboards User Manual
4. Edit DataBand:
4.1. Align the DataBand by height;
4.2. Change values of band properties. For example, set the Can Shrink property to
true, if you wish the data band to be broken;
4.3. Change the DataBand background;
4.4. Enable Borders for the DataBand, if required;
4.5. Change the border color.
5. Define the data source for the DataBand using the Data Source property:
8. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
© 2003-2019 Stimulsoft
Getting Started 175
11. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
© 2003-2019 Stimulsoft
176 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 177
15. Put text components with expressions in the this band. The expression in the text
component is a header in the HeaderBand.
16. Edit text and text components:
16.1. Drag and drop the text component in the band;
16.2. Change font options: size, type, color;
16.3. Align text component by height and width;
16.4. Change the background of the text component;
16.5. Align text in the text component;
16.6. Change values of text component properties, if required;
16.7. Enable Borders of the text component, if required;
16.8. Set the border color.
17. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined for
this report. The amount of copies of the DataBand in the rendered report will be the
same as the amount of data rows in the database.
© 2003-2019 Stimulsoft
178 Stimulsoft Reports and Dashboards User Manual
Adding Styles
© 2003-2019 Stimulsoft
Getting Started 179
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
180 Stimulsoft Reports and Dashboards User Manual
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
4. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item.
© 2003-2019 Stimulsoft
Getting Started 181
For better understanding this step-by-step instruction, please watch the video file and
another one.
Cross-primitives include: Vertical Line, Rectangle and Rounded Rectangle. The start
and end points of cross-primitives can be placed on different components of a report.
In order to design a report with cross-primitives, follow the steps below:
© 2003-2019 Stimulsoft
182 Stimulsoft Reports and Dashboards User Manual
3. Create a report or load previously saved one. For our example we take a Simple List
Report report, described in Simple List Report article.
6. Set the condition of data grouping in the report using the Condition property of the
GroupHeaderBand. Condition for the grouping can be set by specifying an expression
or by selecting a column from a data source. In this example, we specify the
{Customers.ContactTitle} expression of the grouping condition, so, when rendering
the report, a list of companies will be grouped by the ContactTitle column data.
7. Put a text component in the GroupHeaderBand with the following expression:
{Customers.ContactTitle}. So when rendering the report, as a group header, the
entries from the ContactTitle data column will be output. Put a text component in the
© 2003-2019 Stimulsoft
Getting Started 183
GroupFooterBand with the following expression: {Count ()}. The {Count ()} function
will count the number of entries in each group.
9. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering a report all references to data fields will be changed on data from
specified fields.
© 2003-2019 Stimulsoft
184 Stimulsoft Reports and Dashboards User Manual
12. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering a report all references to data fields will be changed on data from
specified fields. The picture below shows a rendered report page with grouping and the
rendered Rectangle cross-primitive:
© 2003-2019 Stimulsoft
Getting Started 185
Adding Styles
© 2003-2019 Stimulsoft
186 Stimulsoft Reports and Dashboards User Manual
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
Getting Started 187
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
4. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item.
© 2003-2019 Stimulsoft
188 Stimulsoft Reports and Dashboards User Manual
3. Design a report or load already created one. For example, take a group report, which
was reviewed in the "Report with Grouping". The picture below shows a report
template with groups:
© 2003-2019 Stimulsoft
Getting Started 189
4. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering a report all references to data fields will be changed on data from
specified fields.
© 2003-2019 Stimulsoft
190 Stimulsoft Reports and Dashboards User Manual
8. Change the value of the Interaction.Collapsed property. In our case, set the
Interaction.Collapsed property to {GroupLine! = 1}. So, when rendering a report all
the groups except the first one will be collapsed.
9. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering a report all references to data fields will be changed on data from
specified fields.
© 2003-2019 Stimulsoft
Getting Started 191
Adding Styles
© 2003-2019 Stimulsoft
192 Stimulsoft Reports and Dashboards User Manual
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
Getting Started 193
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
4. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item.
© 2003-2019 Stimulsoft
194 Stimulsoft Reports and Dashboards User Manual
When designing a report, data used in a report are not always sorted in the order that is
needed. In this case, the sorting can be done by means of the report generator. One
way to sort the data is dynamic sorting. A report with dynamic data sorting in the
preview window is an interactive report in which changing of dynamic data sorting is
done by clicking the component, which dynamic sorting is enabled. Follow the steps
below in order to render a report with dynamic data sorting in the preview window:
© 2003-2019 Stimulsoft
Getting Started 195
4. Edit DataBand:
4.1. Align the DataBand by height;
4.2. Change values of band properties. For example, set the Can Break property to
true, if you wish the data band to be broken;
4.3. Change the DataBand background;
4.4. Enable Borders for the DataBand, if required;
4.5. Change the border color.
5. Set the data source for the DataBand using the Data Source property:
8. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
© 2003-2019 Stimulsoft
196 Stimulsoft Reports and Dashboards User Manual
fields. Data will be output in consecutive order from the database that was defined for
this report. The amount of copies of the DataBand in the rendered report will be the
same as the amount of data rows in the database.
12. Put text components with expressions in the these bands. The expression in the text
component is a title in the ReportTitleBand, and a summary in the
ReportSummaryBand.
13. Edit text and text components:
13.1. Drag and drop the text component in the band;
13.2. Change font options: size, type, color;
13.3. Align text component by height and width;
13.4. Change the background of the text component;
13.5. Align text in the text component;
13.6. Change values of text component properties, if required;
© 2003-2019 Stimulsoft
Getting Started 197
14. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined for
this report. The amount of copies of the DataBand in the rendered report will be the
same as the amount of data rows in the database.
© 2003-2019 Stimulsoft
198 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 199
19. To enable sorting of data by the specified data column, you should click a report
component which the Interaction.Sorting Column property was set earlier. In our
example, you should click the TextBox4. After clicking the text component, data will be
sorted in Ascending direction. To change the sorting direction from Ascending to
Descending, you need to click the text component again, i.e. each time after clicking
the text component sorting direction will be changed. The picture below shows the first
page of the report rendered with different sorting directions:
© 2003-2019 Stimulsoft
200 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 201
Adding Styles
© 2003-2019 Stimulsoft
202 Stimulsoft Reports and Dashboards User Manual
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
Getting Started 203
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
4. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item.
© 2003-2019 Stimulsoft
204 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 205
The report with dynamic collapsing is an interactive report in what items can collapse/
expand its contents by clicking the title of the block. In order to create a report with
dynamic folding in the preview window, you should do the following:
© 2003-2019 Stimulsoft
206 Stimulsoft Reports and Dashboards User Manual
3. Create a report or open a previously designed one. For example, open a report with
grouping, which was reviewed in the chapter "Report from the groups." The picture
below shows a report template with groups:
4. Render your report. Click on the Preview tab or invoke the report viewer clicking the
Preview in the menu. After rendering a report, all references to the data field will be
replaced with data from these fields. The picture below shows a report page with the
grouping:
© 2003-2019 Stimulsoft
Getting Started 207
8. Change the value of the Interaction.Collapsed. In this case, set this property to
{GroupLine!=1}, i.e. all the groups except the first one will be collapsed:
9. Render the report. Click on the Preview tab or invoke the report viewer clicking the
Preview in the menu. After rendering a report, all references to the data field will be
replaced with data from these fields. The picture below shows the rendered page of the
report:
© 2003-2019 Stimulsoft
208 Stimulsoft Reports and Dashboards User Manual
In order to expand or collapse the group, select the GroupHeaderBand in the rendered
report. If you want to collapse the group together with the the group footer you should
set the Interaction.Collapse Group Footer property set to true. The picture below
shows a rendered report page with the collapsed items:
© 2003-2019 Stimulsoft
Getting Started 209
Adding Styles
© 2003-2019 Stimulsoft
210 Stimulsoft Reports and Dashboards User Manual
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
Getting Started 211
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
4. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item.
© 2003-2019 Stimulsoft
212 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 213
5. Set the data source of the Table component using the Data Source property:
6. Put some text and expressions in the table cells. For example, cells of the first and
third rows will contain only text, that will be a data header. Cells of the second and
fourth rows will contain expressions, references to data source;
7. Edit text and cells:
7.1. Set font parameters of text: size, style, color;
7.2. Set color of table cells;
7.3. Align text in cells;
7.4. Change values of cells. For example, set the WordWrap property to true, if it is
necessary for the text to be wrapped.
8. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
© 2003-2019 Stimulsoft
214 Stimulsoft Reports and Dashboards User Manual
fields. Data will be output in consecutive order from the database that was defined for
this report. The amount of copies of the Table in the rendered report will be the same
as the amount of data rows in the database.
Adding Styles
© 2003-2019 Stimulsoft
Getting Started 215
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
216 Stimulsoft Reports and Dashboards User Manual
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
4. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item.
© 2003-2019 Stimulsoft
Getting Started 217
Do the following steps to design a Master-Detail report with the Table component:
3. Create Relation between data sources. If the relation will not be created and/or the
Relation property of the Detail data source will not be filled, then, for Master entry,
all Detail entries will be output.
4. Put two Table components on a page of a report template.
© 2003-2019 Stimulsoft
218 Stimulsoft Reports and Dashboards User Manual
6. Specify data sources for the Table components, as well as set the Master
component. In our case, the Master component is the Table1. This means that in the
Data Setup window of the Table2 component on the tab of the Master Component,
specify Table1 as the Master component;
© 2003-2019 Stimulsoft
Getting Started 219
7. Fill in the DataRelation property of the Table2 component, which is the Detail entry
in this report:
8. Set expressions in table cells. Where an expression is a reference to a data source. For
example: the Table1 component, which is the Master component, set the following
expressions for the first and second rows: {Categories.CategoryName} and
{Categories.Description}, respectively. The third row of the Table1 is a total row, and
in this case, it is blank. The first row of the Table2 is the header row of data, so the
expression in cells of the first row will be the data header. In the cells of the second row
we specify references to data sources. The third row in the Table2 is the total row, so
the expression in this line will be a total. Set the Count function for the third row;
9. Edit text boxes and cells:
9.1. Set the font options: size, style, color;
9.2. Set the background color of cells;
9.3. Align the text in cells;
9.4. Set the value of properties of cells. For example, set the Word Wrap property
to true, if you want the text be wrapped;
10. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields.
© 2003-2019 Stimulsoft
220 Stimulsoft Reports and Dashboards User Manual
Adding Styles
© 2003-2019 Stimulsoft
Getting Started 221
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
222 Stimulsoft Reports and Dashboards User Manual
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
4. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item.
© 2003-2019 Stimulsoft
Getting Started 223
A report with anchors is a report in what there is a page of contents and links (called
anchors) to other pages in the report. Follow the steps below in order to design a report
with the anchors.
3. Create Relation between data sources. If the relation will not be created and/or the
© 2003-2019 Stimulsoft
224 Stimulsoft Reports and Dashboards User Manual
Relation property of the Detail data source will not be filled, then, for Master entry,
all Detail entries will be output;
4. Change the number of columns on a page. For example, set the Columns property
to 2, and the ColumnGaps property to 1;
5. Put two DataBands on a page of the report template
7. Specify the data sources for DataBands, as well as assign the Master component. In
this case, the Master component is the upper DataBand1, and hence in the
DataSetup window the lower DataBand2 on the Wizard tab in the Master
Component should indicate DataBand1 as a Master component. Indicate the data
sources for DataBands using the Data Source property:
8. Fill the DataRelation property of the DataBand2, which is the Detail component:
© 2003-2019 Stimulsoft
Getting Started 225
© 2003-2019 Stimulsoft
226 Stimulsoft Reports and Dashboards User Manual
even if the Detail entries are not present. Set the CanShrink property of the
DataBand4, which is the Detail component in the Master-Detail report to true, if it
is necessary for this band be shrunk;
13.3. Set background color of the DataBand;
13.4. If it is necessary, set Borders for the DataBand;
14. Specify the data sources for DataBands, as well as assign the Master component. In
this case, the Master component is the upper DataBand3, and hence in the
DataSetup window the lower DataBand4 on the Wizard tab in the Master
Component should indicate DataBand3 as a Master component. Indicate the data
sources for DataBands using the Data Source property:
15. Fill the DataRelation property of the DataBand4, which is the Detail component:
16. Put text components with expressions on DataBands. For example: on the
DataBand3, which is the Master component, we put the text component with the
following expression: {Categories.CategoryName}, and on the DataBand4, which is
the Detail component we put two text components with expressions:
{Products.ProductName}, {Products.QuantityPerUnit}, and {Products.UnitPrice};
© 2003-2019 Stimulsoft
Getting Started 227
18. Select the DataBand, which is the Master data source. In our case, this is the
DataBand3:
18.1. Set the Interaction.Bookmark property of the DataBand3 to
{Categories.CategoryName};
19. Select the DataBand, which is the Detail data source. In our case, this is the
DataBand4:
19.1. Set the Interaction.Bookmark property to {Products.ProductName};
19.2. Subscribe to the event. Set the RenderingEvent to {AddAnchor
(Products.ProductName);};
Report rendering
20. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering a report all references to data fields will be changed on data from
specified fields.
© 2003-2019 Stimulsoft
228 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 229
In the rendered report, when clicking an entry in the table of contents the transition to
this entry in the report will be done.
© 2003-2019 Stimulsoft
230 Stimulsoft Reports and Dashboards User Manual
24. Put text components with expressions in this band. The expression in the text
component is a header in the HeaderBand.
25. Edit text and text components:
25.1. Drag and drop the text component in the band;
25.2. Change font options: size, type, color;
25.3. Align text component by height and width;
25.4. Change the background of the text component;
25.5. Align text in the text component;
25.6. Change values of text component properties, if required;
25.7. Enable Borders of the text component, if required;
25.8. Set the border color.
26. Click the Preview button or invoke the Viewer, clicking the Preview menu item.
After rendering all references to data fields will be changed on data form specified
fields. Data will be output in consecutive order from the database that was defined for
this report. The amount of copies of the DataBand in the rendered report will be the
same as the amount of data rows in the database.
© 2003-2019 Stimulsoft
Getting Started 231
© 2003-2019 Stimulsoft
232 Stimulsoft Reports and Dashboards User Manual
Adding Styles
© 2003-2019 Stimulsoft
Getting Started 233
Click the Add Style button to start creating a style. Select Component from the drop
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property:
© 2003-2019 Stimulsoft
234 Stimulsoft Reports and Dashboards User Manual
Click Close. Then a new value in the list of Even style and Odd style properties (a style
of a list of odd and even rows) will appear.
4. To render the report, click the Preview button or invoke the Viewer, clicking the
Preview menu item.
© 2003-2019 Stimulsoft
Getting Started 235
© 2003-2019 Stimulsoft
236 Stimulsoft Reports and Dashboards User Manual
The invoice is most often used in accounting for the tax (customs) control or in the
international supply of goods. This document usually includes the cost of
transportation, shipping operations, insurance, payment of export duties, as well as
various taxes (fees), and more. If your activity requires constant creation of invoices, for
optimization, time and cost savings, it is logical to assume that it is easier to create a
document template. Using it, you change only the data, saving yourself from routine
work to create the structure of the invoice and its design.
You can create templates and tools in many ways, but I want to help you save time in
finding these resources. In this tutorial you will learn how to quickly create an invoice
template, decorate it and get the finished document. This will take you some time. I will
try as much as possible to describe in detail the process of creating such a report.
© 2003-2019 Stimulsoft
Getting Started 237
The product which is used in this tutorial is Stimulsoft Reports.Net which trial can be
downloaded at http://www.stimulsoft.com/Downloads/
StimulsoftReports.Net_2012.1_Trial.zip .
The database to this tutorial is delivered with the product installation. I also attached the
video file which shows how to create a report.
The ready invoice.mrt file is also attached to this article.
6. Specify the data source for the DataBand using the Data Source property from the
obj ect inspector:
7. Put text components in the HeaderBand with texts Unit Name, Description, Qty,
© 2003-2019 Stimulsoft
238 Stimulsoft Reports and Dashboards User Manual
10. Click on the Preview button or invoke the report viewer, using the Preview item.
After rendering a report, all references to the data fields will be replaced with data from
the specified fields. That data will be taken sequentially from the data source that was
specified for the given band. The number of copies of the DataBand in the rendered
report will be equal to the number of rows in the data source. The picture below shows
the rendered report:
© 2003-2019 Stimulsoft
Getting Started 239
16. Add the ReportTitleBand to the report template and FooterBand and edit them;
17. Put a text component in the FooterBand with the expression Total: {Sum
(Products.UnitsInStock * Products.UnitPrice)};
18. Put a text components in the ReportTitleBand with expressions:
18.1. The first text component has the text BILL TO;
18.2. The second one indicates Name Street Address Address 2 City, ST ZIP Code;
18.3. The third component with the text SHIP TO;
18.4. In the fourth component the text is the same as in the second one Name Street
Address Address 2 City, ST ZIP Code;
© 2003-2019 Stimulsoft
240 Stimulsoft Reports and Dashboards User Manual
19. Click on the Preview button or invoke the report viewer, using the Preview item.
After rendering a report, all references to the data fields will be replaced with data from
the specified fields. That data will be taken sequentially from the data source that was
specified for the given band. The number of copies of the DataBand in the rendered
report will be equal to the number of rows in the data source. The picture shows a
report with the report header and footer:
© 2003-2019 Stimulsoft
Getting Started 241
Adding styles
Click the Add Style button to start creating a style. Select Component from the drop
© 2003-2019 Stimulsoft
242 Stimulsoft Reports and Dashboards User Manual
down list. Set the Brush.Color property to change the background color of a row. The
picture below shows a sample of the Style Designer with the list of values of the
Brush.Color property
Press the Close button when the property is set. After that, in the list of values of
properties
Even style and Odd style the new values will appear, i.e. the new style of
even/odd lines, respectively.
4. Render a report by clicking on the Preview tab or call the report Viewer using the
Preview menu item. The picture below shows the rendered report with the invoice:
© 2003-2019 Stimulsoft
Getting Started 243
The invoice, can be printed, saved to any of the available file formats, or sent via Email.
The picture below shows a list of file formats available for saving or sending reports via
Email:
© 2003-2019 Stimulsoft
244 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 245
Pay attention to the report header. As can be seen from the picture above, information
about payments and delivery are not specified. How to make it so you can easily specify
these details? The constant editing of text components in the report template is not an
option, but using the parameters in the report is quick and easy. Especially if there are
more recipients of your invoices. So, in order to add parameters to the report, follow
these steps:
Details BILL TO and SHIP TO, by definition of fields (name, street, city, zipcode) are the
© 2003-2019 Stimulsoft
246 Stimulsoft Reports and Dashboards User Manual
same, so when you create variables, there could be confusion. To avoid this, the
variables can be created in different subcategories. So, to avoid this, create a sub-
category of variables, which are called BILL TO and SHIP TO. For this purpose, in the
context menu of the category Variables, click New Category...:
Then, in the box of the New Category you should specify a name for the category (BILL
TO and SHIP TO). After that, we will create the variables in the category BILL TO. In
principle, there is no difference where to create a variable, because it is always possible
to move it to the appropriate subcategory. Yet, to save time, get used immediately to
create the correct location. So, select a subcategory created by BILL TO command and
call the new variable (New Variable) from the context menu or menu item New (New
Item). The picture below presents a window to create a new variable:
© 2003-2019 Stimulsoft
Getting Started 247
© 2003-2019 Stimulsoft
248 Stimulsoft Reports and Dashboards User Manual
In order to use this variable in the report, you must provide a link to it - {variable name}.
In this case, we indicate in the text component {BILLTO_Name}. The picture below
predstalen invoice template with a variable:
Render a report to check how works the newly created key in the final report. Click on
the Preview button or bring up the Viewer, using the shortcut key F5 or the menu
Preview. After building a report, all references to data sources will be replaced with data
from these fields. With that data will be taken sequentially from a data source that was
specified for a given band. The number of copies of the band Data in the rendered
report will be equal to the number of rows in the data source. The picture below before
your report with a parameter:
© 2003-2019 Stimulsoft
Getting Started 249
As can be seen from the picture, the report shows the specified field values of the
parameter (in this case, Name). Note that in the first set of values
stored in the variable
value by default. Now change the value and click the Apply button (Submit). In the
picture below a report with the modified parameter value:
© 2003-2019 Stimulsoft
250 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Getting Started 251
Now, in order to prepare an invoice with the required details and BILLTO SHIPTO, no
need to alter permanently a template. Enough to simply specify the details and click the
Apply button (Submit). Reset Button (Reset) resets the values stored in a variable and
sets the value stored by default. In these two articles, I showed you how to use report
generator Stimulsoft can facilitate their work in creating invoices. And also learned how
to use this tool in a few steps and get a hard-structured, well-designed, dynamic report.
I would like to add that this is only a small part of the potential reporting tool
Stimulsoft. Stimulsoft Start learning today and you'll wonder how you can quickly and
easily create reports. And I'll be sure to write articles to help you solve your questions.
© 2003-2019 Stimulsoft
252 Stimulsoft Reports and Dashboards User Manual
3 Report Internals
This section describes the internal components and features of Stimulsoft Reports,
including Expressions, Appearance, Text Formatting, Barcodes, Watermarks and more.
3.1 Expressions
Expressions are a key part of Stimulsoft Reports - without them it would not be
possible to produce any reports at all. An expression is a combination of one or more of
the following:
Text;
Mathematical and Logical operators;
Constants;
Functions;
Field names;
Controls;
Properties.
The most common expressions used in the report generator are text expressions. These
expressions are used to define any text displayed or printed in the report that is not the
subj ect of any calculation such as a text heading. Text expressions are always converted
into strings.
MyText
12345
© 2003-2019 Stimulsoft
Report Internals 253
Test
All three expressions above consist of one string and there are no calculations - the
expression will be printed in the report exactly as it has been defined. Such expressions
are typically used to indicate simple string constants, column names, reports, links etc.
An expression can contain many different types of variable as well as functions and
field values from databases. These various parts can be combined to calculate a value to
be printed or displayed within a report.
Value = {1 + 2}
then after calculation the result appearing in the report will be:
Value = 3
© 2003-2019 Stimulsoft
254 Stimulsoft Reports and Dashboards User Manual
then after calculation the result appearing in the report will be:
ValueA = 3, ValueB = 5
Value = {1 + 2 + {2 + 3}}
It is possible for a single expression to output multiple lines of text within a report. To
create a multi-line expression simply insert a line feed before any new line. You can do
this by simply pressing the Enter key at the appropriate place in the code editor. There
is no limit to the number of lines that can be included in an expression. For example, if
you enter the following expression:
Value:
{1+2}
then after calculation the result appearing in the report will be:
Value:
3
© 2003-2019 Stimulsoft
Report Internals 255
You can create variables in the designer data dictionary which can then be used in
expressions. When you specify the name of a variable in the expression the value of the
variable will be included in the report. The syntax is simply the name of the variable
surrounded by curly braces. For example if you set the value of the variable to 5 and
you enter the following expression:
Value = {MyVariable}
then after calculation the result appearing in the report will be:
Value = 5
then after calculation the result appearing in the report will be:
Value = 25
Important: If the report language is C# then variable names are case sensitive. If the
report language is VB.Net then variable names are not case sensitive.
© 2003-2019 Stimulsoft
256 Stimulsoft Reports and Dashboards User Manual
Values from data sources can be used in expressions. To reference a field from the data
source you must provide a string representation of the field. The syntax of the reference
is simple - you give the name of the data source and the field name separated by a
decimal point or full stop character, surrounded by curly braces:
{DataSource.Column}
For example, if you have an entry in the customers table with the company name field
set to "The Big Company" and you enter the following expression:
then after calculation the result appearing in the report will be:
Note: In order to avoid having to create this sort of expression manually you can use
drag and drop from the data dictionary directly to the page of a report or within the
expression editor to insert the necessary information automatically and with the correct
syntax.
Parent Relationships
If the data source has a parent relationship with other data sources you can directly
reference fields from the parent data source. The syntax of the reference is similar to
the examples already given - you give the name of the data source, then the relation
name, and then the field name each separated by a decimal point or full stop character,
and the whole thing surrounded by curly braces. For example:
{Datasource.Relation.Field}
© 2003-2019 Stimulsoft
Report Internals 257
ParentCategories is a name of relation, with what two data sources are related.
In this case, two data sources are related:
Products is a list of products, and Categories is a list of categories of these
products.
CategoryName is a column name in the Categories data source.
{Products.ParentCategories.CategoryName}
then after calculation the result appearing in the report will be the name of a category
for a product.
There are no limits on the number of relationships you can use in Stimulsoft Reports.
Therefore a column can be called through two or three or even more relationships. For
example, Assuming that you have a set of information like this:
OrderDetails is a name of a data source;
ParentProducts is a name of relations between OrdersDetails and Products
data sources;
ParentCategories. is a name of relation between Products and Categories data
sources;
CategoryName is a field in the Categories data source.
{OrderDetails.ParentProducts.ParentCategories.CategoryName}
then after calculation the result appearing in the report will still be the name of a
category for a product butthe value of the CategoryName field has been obtained
using relationships and bypassing the OrderDetails data source to get to the
Categories data source. No direct call to the Categories data source has been used
Important: If the report language is C# then names are case sensitive. If the report
language is VB.Net then names are not case sensitive.
It should be remembered that all the values in data sources are typed. This means that
all data items are dynamically converted to the type that is specified in the options
© 2003-2019 Stimulsoft
258 Stimulsoft Reports and Dashboards User Manual
column which helps to accelerate the development of reports. However, if you need to
get data from a column without conversion you will need to specify the data source
directly. For example, in C#:
{Products["ProductName"]}
This expression will return data from the Products data source "as is" without
conversion. The example below shows the same expression for VB.Net:
{Products.Item("ProductName")}
When creating an expressions you can use the properties of any component contained
within a report.
Syntax
The syntax is the same whether the report language is C# or VB.NET. You simply
enterthe name of the component and the property name separated by a decimal point
or full stop character, surrounded by curly braces:
{Component.Property}
Important: If the report language is C# then names are case sensitive. If the report
language is VB.NET then names are not case sensitive.
For example, to display the name of a component called MyComponent you would
enter the expression:
{MyComponent.Name}
If you wish to access a calculated value from within a component you should use the
property that contains the result you require. For example, if the component has
© 2003-2019 Stimulsoft
Report Internals 259
ahyperlink value which calculates a hyperlink from the other component properties you
would access it by entering the expression:
{MyComponent.HyperlinkValue}
You can use component properties in calculations should this be necessary. For
example, the following would display the area taken up by the component:
{MyComponent.Width*MyComponent.Height}
Built In Functions
Stimulsoft Reports has a large number of built in functions available for you to use. You
can access these functions directly from the data dictionary and within the Expression
Editor. Examples of built in functions and their usage would be:
{Trim(MyString)}
or
{Trim(MyDataSource, MyDataColumn)}
In each case the use of the Trim function removes leading and trailing spaces from the
result shown in the report.
© 2003-2019 Stimulsoft
260 Stimulsoft Reports and Dashboards User Manual
{MyString.Length} // Returns the length of the string - if the value of MyString is "Test"
then the method will return 4
For numerical expressions you could use any of the following examples:
{MyValue.ToString() + " times"} // Converts the number to a string and adds the word
"times" -
// if MyValue is 5 this returns "5 times"
There are no limits to the number of Framework methods you can access - if they are
available within .NET for the type you are using in a report you can use them without
restriction.
© 2003-2019 Stimulsoft
Report Internals 261
This evaluates Condition, and if the Condition returns true, then the expression will
return Value1. If it returns false, then it will return Value2. For example, if you enter
the following expression:
then if the value of Store.Count is 10 after calculation the result appearing in the report
will be:
Number of Stores: 10
If the value of Store.Count is 0 after calculation the result appearing in the report will
be:
In exactly the same way as the IIF function, if Condition evaluates to true, then the
expression will return Value1. If false, then it will return Value2.
To make it easier to understand expressions in a report you can use aliases instead of
explicitly specifying the variable or data source and column details. For example, if you
have a variable in the data dictionary called "MyVariable" and you have set its alias to
"my best variable" you can reference that variable directly by Name or by Alias.
To use the variable by name you would create an expression like this:
© 2003-2019 Stimulsoft
262 Stimulsoft Reports and Dashboards User Manual
{MyVariable}
To use the variable by alias you would create an expression like this:
Syntax - Variables
If you use spaces, punctuation, or characters within an alias that are not permitted
under C# or VB.Net then you MUST enclose the string representation of the alias in
square brackets []. If no such characters are used then the square brackets are optional.
For example, if the alias was "MyBestVariable" then the expressioncan be written
without brackets:
{MyBestVariable}
Otherwise you MUST enclose the variable in square brackets. Examples of valid alias
usage:
{Variable1}
{VariableAndValue}
{[Variable&Values]}
{[Variable-First]}
© 2003-2019 Stimulsoft
Report Internals 263
Syntax - Data
The same rule is used and when creating the names of data sources and columns. But
there is one exception. When referring to the data column, only a part with incorrect
characters for identifier should be bracketed.For example:
{DataSource.[Data Column]}
{[Data-Source].DataColumn}
{[Data=Source].[Data=Column]}
3.2 Appearance
Stimulsoft Reports offers many ways to control the appearance of your reports. These
include text brushes, brushes to fill background, font types, component borders, and
horizontal and vertical alignment of the contents of components. Styles can be used to
simplify setting the appearance of your reports and to standardize the look and feel of
them.
Brushes are used to fill a background, and to draw a text within a report. Brushes have
several styles and colors. To change the background color and appearance of a
component use the Brush property within the Obj ect Inspector.
© 2003-2019 Stimulsoft
264 Stimulsoft Reports and Dashboards User Manual
Solid;
Hatch;
Gradient;
Glare;
Glass.
Selecting Fonts
Text within a report can be output using different fonts. The font is set using the
Font.Name property. Three examples fonts are shown below:
© 2003-2019 Stimulsoft
Report Internals 265
Information
The font list that is available in the report designer contains the fonts installed in the
current operating system. For web tools – from the fonts installed in the operating
system of the server.
Any font that is installed on your machine and available from the .NET Framework can
be used in a report. Most frequently these are OpenType and TrueType fonts. However,
when choosing a font try to select one that will also be present on a user machine or a
report may not render as you would wish at runtime.
Font Size
You may well wish to change the size of font on some components, for example a
heading may require a much larger font size than a copyright notice.
The font size can be changed using the Font.Size property. For example:
Font Styles
Different styles can be applied to the font. A font may include one or more styles such
as regular, bold, semibold, italic, underlined, and strikeout. You can control the styles
© 2003-2019 Stimulsoft
266 Stimulsoft Reports and Dashboards User Manual
Font Brushes
Five types of brushes are used to draw a text: Solid, Hatch, Gradient, Glare, and Glass.
The TextBrush property is used to control brushes. An example of using the five
different brushes is shown below:
Custom Fonts
When designing reports, it is possible to use custom fonts which are not installed by
default in the operating system. Add the font files (*.ttf, *.otf) to the report resources. In
© 2003-2019 Stimulsoft
Report Internals 267
this case, the font will be added to the report and can be used the following way:
Step 2: Select the added font from the drop-down menu in the Home ribbon tab of the
report designer panel. Custom fonts are displayed at the top of the font list.
© 2003-2019 Stimulsoft
268 Stimulsoft Reports and Dashboards User Manual
Step 2: Click the Conditions button in the Home tab of the report designer panel;
Step 4: Specify the logical conditions for applying the design settings;
Step 5: Click the Change Font button and select the custom font. Custom fonts are
displayed at the top of the font list.
© 2003-2019 Stimulsoft
Report Internals 269
Step 6: Click the Ok button in the Font dialog, and then click the button in the editor of
a condition.
Now, when the logical condition is executed, a custom font will be applied to the
component.
© 2003-2019 Stimulsoft
270 Stimulsoft Reports and Dashboards User Manual
Step 1: Click the Style Designer button in the Home ribbon tab of the report designer
panel;
Step 2: Select the style or create a new one in the editor of a condition;
Step 3: In the properties panel, select the custom font in the Font property. Custom
fonts are displayed at the top of the font list.
© 2003-2019 Stimulsoft
Report Internals 271
The font will be applied for all components for which this style is assigned unless other
is specified by the style settings or conditional highlighting.
3.2.3 Borders
Many components in Stimulsoft Reports can have borders. Where they have been set
borders may have different thicknesses, colors, and styles, and there be a drop shadow
applied. The Border property of a component is used to control the appearance of the
border, and this property can be manipulated either from the Obj ect Inspector or using
controls within the Ribbon or the Toolbar depending on whether you are using the
Standard of Ribbon interface.
There are two types of borders in Stimulsoft Reports: Simple and Advanced. The
Borders can be included in component styles so that they can be automatically applied
to multiple components.
Articles in this section describe both types of border and the differences between them.
Border Sides
Each border consist of 4 segments: top side, left side, bottom side, right side. These
segments may be shown together or in different combinations. For example:
Using the Border.Side property it is possible to setup on which sides a border will be
visible.
Border Style
Seven styles of border are available - Solid, Dash, Dash Dot, Dash Dot Dot, Dot,
Double, and None. With simple borders a selected style is applied to all sides of the
border at the same time. Examples of each type of border are shown below:
© 2003-2019 Stimulsoft
272 Stimulsoft Reports and Dashboards User Manual
Solid;
Dash;
Dash Dot;
Dash Dot Dot;
Dot;
Double.
The style of border can be selected using the Border.Style property. You can also set
the border color and thickness.
Border Color
The border color can be set using the Border.Color property. When using simple
borders the selected color is applied to all visible border sides. The image below
demonstrates components with different border colors.
Border Thickness
When using simple borders the border thickness is applied to all visible border sides.
The border thickness can be set using the Border.Size property. The image below
demonstrates components with different border thicknesses.
© 2003-2019 Stimulsoft
Report Internals 273
It is important to know that the border thickness is ignored if the Double border style
is enabled.
Notice. The border size is ignored if the Double style is set in the Border.Style
property.
Shadow
A component that has borders may have shadow. A shadow has three parameters:
Shadow Styles
Five types of brushes are used to draw a border: Solid, Hatch, Gradient, Glare, and
Glass.
These styles can be combined with the other shadow properties to apply a wide range
of different appearances to report components. A few examples:
© 2003-2019 Stimulsoft
274 Stimulsoft Reports and Dashboards User Manual
Object Inspector
To set properties from the Obj ect Inspector click the ellipsis button beside the Border
property
A new dialog will be displayed that allows you to set the options for the border of the
component:
Simply select the settings you would like to apply and click the OK button to close the
dialog and update the border.
© 2003-2019 Stimulsoft
Report Internals 275
The main difference between simple and advanced border types is that the style, color
and thickness of the border can be set separately for each side - Top Side, Left Side,
Bottom Side, Right Side. This provides additional opportunities to produce cleverly
formatted reports.
Note: The advanced border type allows the style, color and thickness to be set
separately for each side.
Some examples of advanced borders with different features applied to different sides:
Important: You cannot set advanced border properties from the toolbar.
Object Inspector
To set Advanced border properties from the Obj ect Inspector click the ellipsis button
beside the Border property
© 2003-2019 Stimulsoft
276 Stimulsoft Reports and Dashboards User Manual
The simple Border dialog will be displayed. To access the advanced border features
simply click the Advanced tab at the top to bring it to the front.
Simply select the settings you would like to apply and click the OK button to close the
dialog and update the border.
You can set a condition for a border using the Obj ect Inspector in the designer. For
more information on this topic please see the Conditional Formatting section.
Some components (such as Text and Image components) allow the horizontal
© 2003-2019 Stimulsoft
Report Internals 277
To set the horizontal alignment use the Horizontal Alignment property in the Obj ect
Inspector or the alignment controls within the Ribbon or the Toolbar depending on
whether you are using the Standard of Ribbon interface.
The most common alignment for text is Left aligned, where the left hand edge of each
line of text starts at the same position in relation to the left hand edge of the
component. However, modern design needs more flexibility so Stimulsoft Reports
allows a choice of alignments: Left, Center, Right, and Justify. These are assigned
using the HorizontalAlignment property of the component.
Left. The text is aligned on the right edge with a ragged right edge.
Center. The text is aligned centrally within the component with ragged left and right
edges.
Right. The text is aligned on the right edge with a ragged left edge.
Justify. The text is aligned evenly across the width of the component, providing
smooth edges to the text on both sides. This is achieved by automatically adj usting the
amount of space between words.
© 2003-2019 Stimulsoft
278 Stimulsoft Reports and Dashboards User Manual
Images will be aligned only when the Stretch property of the image component is set
to false. If the Stretch property is true then alignment settings will be ignored.
Important: Image alignment will be ignored if the Stretch property is set to true.
Some components (such as Text components) allow the vertical alignment of their
content to be specified when creating reports. To set the vertical alignment use the
Vertical Alignment property in the Obj ect Inspector or the alignment controls within
the Ribbon or the Toolbar depending on whether you are using the Standard of Ribbon
interface.
By default a text is aligned with the top edge of a component. But if the need arises, you
can install the necessary alignment. In doing so, if there is alignment on the lower side
and the text does not fit vertically within the boundaries of the component, it will be
truncated on the upper side. If it is aligned to the center, in the case if the text does not
fit, he will cut off both the top and bottom side.
© 2003-2019 Stimulsoft
Report Internals 279
To control the vertical alignment for the Image component the same property is used
as for the Text component. Images are aligned only if the Stretch property is set to false.
Otherwise, alignment will be ignored.
Top. The image is aligned with the top edge of the component.
Center. The image is aligned centrally between the top and bottom edges of the
component.
Bottom. The image is aligned with the bottom edge of the component.
Images will be aligned only when the Stretch property of the image component is set
to false. If the Stretch property is true then alignment settings will be ignored.
Important: Image alignment will be ignored if the Stretch property is set to true.
© 2003-2019 Stimulsoft
280 Stimulsoft Reports and Dashboards User Manual
3.2.6 Styles
Instead of manually formatting each component, you can create a new style in a report
and set its parameters (such as font name, size, and font style) exactly as you want
them. The style can then be assigned to any component within the report and it will
automatically take on the features of that style.
Name
Each style has its own name. This name must be unique within a report.
Description
Each style also has a description which can be used to explain the intended purpose of
the style to others. For example if you create a style called 'Section Heading' you might
assign a description 'Bold heading for use at the start of a section'
Style Types
There are four types of styles:
Component;
Cross-Tab;
Chart;
Report Control.
The Component style is designed to be used with all components except the Cross-
© 2003-2019 Stimulsoft
Report Internals 281
Tab and Chart components which have their own dedicated style types because they
have style features not included in other components.
The component style contains all the basic elements of the appearance of a component
including Font,Text Brush,Brush,Border,Horizontal Alignment, and Vertical
Alignment. In addition to these parameters, the simple style has parameter flags that
determine whether certain style parameters can be modified by the user at design time.
Applying Styles
Each component in the report has a Component Style property. In the obj ect inspector
you can specify any style that exists within the report by clicking the drop down button
at the right of the property and selecting it from the list. You can also create or edit
styles by clicking the [Edit Styles] option:
After a style has been assigned to a component the report generator will ensure that
the appearance of the component consistently matches that of the specified style.
Changes to the style will automatically cascade to all components to which the style has
been assigned.
© 2003-2019 Stimulsoft
282 Stimulsoft Reports and Dashboards User Manual
For example, if the developer changes the background color of the style all the
components in the report that use that style will take on the new background color.
It is important to remember that even though they may share a style each component
has its own design parameters which may not include some of those set in the style.
For example, the Panel component has no Font parameter. If you apply a style to a
panel, this parameter will be ignored. In other words the component will use only the
design parameters of the style that it actively supports.
Note: The component will use only those parameters of the style that it supports.
The Data component has more than one property to which it is possible to assign a
style. In addition to the standard ComponentStyle property this component has two
additional properties: OddStyle and EvenStyle. These properties are used to highlight
alternate lines of a report.
By default these properties are not set, but if you allocate suitable styles to each
property the report generator will apply those styles to the even and odd numbered
lines when rendering the report. In the example below a style with a different
background color has been applied to alternate rows:
© 2003-2019 Stimulsoft
Report Internals 283
If this property is set to true, then the component will use the style of the component
on which it is located. For example, if the component is on a page, it will automatically
use the style set for that page. If the component is on a panel, then it will use the panel
style. If the UseParentStyles property is set to true for the panel, then both
components will use the page style.
© 2003-2019 Stimulsoft
284 Stimulsoft Reports and Dashboards User Manual
Toolbar. On this panel you can find commands used in the style designer.
List of collections and styles.
Properties panel of the selected style.
Description of the selected property.
The Formatting panel contains the basic controls for formatting components. This is
actual for styles such as Component.
Toolbar
The toolbar contains the basic controls used in the style designer. The picture below
shows the control panel:
The Actions menu contains basic commands to control styles and style collections:
The Open... command allows you to open a previously saved file (*.sts) with a list
of styles and style collections.
The Save As... command saves styles and style collections to the *.sts file.
The Create Style Collection... command is used to create an automatic
collection of styles.
The Add Style menu contains a list of styles for various report items that you can
add to the list of report styles and collections:
The Component style can be applied to almost all report items that have the
ability to select a style, except for maps, charts, gauges, tables, and cross-tabs.
The Chart style is used for any type of charts.
The Map style is used only for maps in reports.
The Gauge style is used for both linear and radial gauges.
The Cross-Tab style is used for the cross-tab components.
The Table style is applicable only to the table component.
The Delete button allows you to delete a selected style or collection from the list of
report styles.
This command is used to get a style from a component. To do this, select the
component in the report, call the style designer and click this button. The style will be
created with the settings as the selected component in the report.
The Settings menu contains commands for managing the list of report styles:
Select the types of styles that you want to display in the list of report styles. By
© 2003-2019 Stimulsoft
Report Internals 285
default, all types are displayed. If the type is disabled, and you add a new style of the
same type, then all styles of this type will be displayed in the list.
Set the sorting of styles in the list. First, in the selected order (ascending or
descending), collections of styles will be sorted, and then the styles in these
collections will be sorted in the same order. Please note that to manually change the
order of the list of styles (for example, when dragging a style in the list), you should
disable the sorting mode.
The Search field. Simply enter a name or other characters from the name of the
desired style, and the list of report styles will be filtered.
Context menu
The context menu of the style designer can be called by right-clicking in the list of
styles:
As you can see from the picture, the context menu contains:
The commands are used to create styles of various types;
The command is used to delete the selected item (collection or style);
The Duplicate style command is used to create a copy of the style from the list. In
this case, the duplicate style will be in the same collection, and the suffix Copy1,2,3 will
be added to the name of the copied style.
Commands are used to work with the clipboard (Cut, Copy, Paste);
The command is used to create a collection of styles automatically.
You should know that, for the collection of styles, some commands from the context
menu will be unavailable.
Hotkeys
You can use keyboard shortcuts to invoke a specific command when working with the
© 2003-2019 Stimulsoft
286 Stimulsoft Reports and Dashboards User Manual
style designer. The table below shows the list the commands and key combinations.
Hotkeys Command
Ctrl+x Cut a style to the clipboard
Ctrl+c Copy a style to the clipboard
Ctrl+v Paste a style to the clipboard
© 2003-2019 Stimulsoft
Report Internals 287
The Add button is used to add the new color to the collection of colors. By default,
the color is White. Then, you need to specify the color you want.
The Remove button is used to remove the selected color from the collection of
colors.
Buttons for moving the selected color up and down in the list. The sequence of colors
from top to bottom determines the color of report items. The first color in the list is
assigned to the first report item, the second color – to the second one, and so on.
Therefore, by changing the order of colors in the list, you can adj ust the color scheme of
the Chart or Map components.
The list of color collections. The number of colors in the collection is unlimited.
3.2.9.1 Creating Collection of Styles
A collection of styles is a group of styles that are united by some criteria. The collection
should contain at least one style. For example, if the styles are simultaneously used in
the current report, they can be united into a collection. It should be noted that the
report can have several collections of styles. But the current collection that is applied to
the report can be only one collection.
© 2003-2019 Stimulsoft
288 Stimulsoft Reports and Dashboards User Manual
It should be noted that, at the same time, there can be collections of styles created
manually and generated in the automatic mode. Also, if necessary, the generated
collection of styles, and all the styles in it, can be edited.
Step 2. Create styles from the Add Style menu or open a previously saved file with
styles;
Step 3. Fill the Collection Name property. The value of this property is the name of
the future collection. For example, if you specify the name Black for five styles then, in
the list of elements of the style designer, the collection with the name Black will be
created. It will contain those five styles. When working with collections of styles, please
note:
If you drag a style from one collection to another, the value of the Collection name
property will change.
When you rename a collection of styles the value of the Collection name property will
be changed for all styles in this collection.
To ensure that the style does not belong to any collection of styles, you should delete
the value of the Collection name property.
Step 4. Configure the style conditions. Without conditions, when you apply a collection
of styles to a report, the styles will be applied sequentially from top to bottom. As a
result, the last style from the collection will be applied to the report. However, you can
also change the style of the report component by choosing it in the report template and
selecting the appropriate style from the style menu on the Home tab of the report
designer.
Step 5. Set the style settings (brush, color, borders, alignment, etc.).
Step 2. Select the Create Style Collection command from the Actions menu or the
© 2003-2019 Stimulsoft
Report Internals 289
The Collection Name field is used to specify the name of the collection.
The Color field is used to select the main color for the style collection.
In the Nested Level field is used to select the value corresponding to the level of
nesting in the report.
The Nested Factor field is used to specify the nesting factor that affects the clarity of
colors in this collection of styles.
Enables or disables Borders for styles in the collection.
The Remove Existing Styles option. If this option is enabled (check box is selected)
then, when creating the collection, existing styles and collections in the style designer
will be deleted. If this option is disabled (the check box is cleared), a new collection of
styles will be added to existing styles and collections.
The Component panel. In this panel, the bands of the report are checked. If a certain
band is checked, then for the report components that are located on it, the styles will be
applied. If no bands are checked, the collection will not be created.
The Preview panel. This panel previews a report with the collection of styles applied.
© 2003-2019 Stimulsoft
290 Stimulsoft Reports and Dashboards User Manual
Step 5. Edit the styles from the collection, if necessary, and click the OK button in the
style designer.
© 2003-2019 Stimulsoft
Report Internals 291
After selecting a collection, a message will be displayed. You need to confirm or cancel
this action.
© 2003-2019 Stimulsoft
292 Stimulsoft Reports and Dashboards User Manual
When you click Yes, the styles from the collection will be applied to the report
components depending on the specified conditions in these styles.
3.2.9.2 Conditions
Adding and changing the conditions for applying styles can be done in the Conditions
dialog. To call this window, you need to click the Browse button in the properties panel
in the style designer in the Conditions property.
© 2003-2019 Stimulsoft
Report Internals 293
As can be seen from the picture, the dialog contains one block, which shows the
different types of conditions. Each type of conditions includes the following fields:
name, which displays the name of the conditions, as well as the element of enabling
this condition; operation type used to select an operation selected by means of which
calculation of the value of the condition in the latter field specifies the values
for which
the operation will be performed.
The condition Placement. This type of conditions provides the opportunity to apply
a style to a component, depending on its placement. In the values field containers
(bands, panel, table, page) are selected. If to select operation is equal to, then the style
will be applied to the components placed on the containers, which are selected in the
value field. If you select the operation not equal to, then the style will be applied to the
components placed in any container other than the selected value in the field. It should
also be noted that in the value field, you can choose several containers.
The condition Nested Level. C using this kind of condition the components can be
styled according to the nesting level of containers on which the components are placed.
© 2003-2019 Stimulsoft
294 Stimulsoft Reports and Dashboards User Manual
In the value field you may specify the nesting level of the container (maximum 100). In
this type of conditions the following operations are available:
equal to. The style will be applied when the nesting level of containers will be equal
to the specified level in the field of values;
not equal to. The style will be applied to all components in containers, which the
nesting levels will not be equal to the specified level in the field of values;
greater than. The style is applied to the components in containers, which nesting
level is greater than the level of the specified field of values;
greater than or equal to. The style is applied to the components in containers,
which the nesting level is equal to or greater than the specified level in the field of
values;
less than. The style will be applied to components in containers, which nesting level
is less than the specified level in the field of values;
less than or equal to. The style is applied to the components in containers, which
nesting level will be equal to or less than the specified level in the value field.
It should be noted that this type of condition is only included if the condition of the
type Placement.
© 2003-2019 Stimulsoft
Report Internals 295
Also, it is permissible to combine different types of conditions. In this case, the style will
be applied if all the conditions will work. In other words, if you are using the conditions
of the type Placement and Component name, then the style will be applied only if
these conditions are fulfilled, i.e. properties of the component will meet two
requirements - placement and naming. In addition, you can use the multi-conditions, i.e.
when two or more blocks of conditions are involved. In this case, the component will be
used only in the style, if all blocks in all conditions are met.
Nesting Level
The level of nesting is the level of subordination of a component to another component,
i.e. to the component of the same type. The first level of nesting is organized when the
component is added to the report template, i.e., if you add a component and it will not
have a subordination, it will be a component of the first level of nesting.
If the report has, for example, two DataBands, one of which subordinates to the second
one, then the subordinated band of the second level of nesting, and the subordinating
one - of the first level of nesting. If the report contains three DataBands, where the third
subordinates to the second band, and the second one the first one, then they will be
components of the third, second and first level of nesting. It is also worth noting that
there may be several components of one nesting level, i.e., one Data Band may
subordinate a few bands.
© 2003-2019 Stimulsoft
296 Stimulsoft Reports and Dashboards User Manual
The nesting level of the subordinated band will be the next level of the subordinating
one. If you select the DataBand of the third nesting level, the band will be assigned to
the fourth nesting level. Also, remember that one band may subordinate to a few
bands. In this case, the subordinated bands will have the same nesting level. The picture
below shows an example of report organization with the three level nesting:
It should be noted that creating a collection of styles, in the dialog Create Style
Collection, the tenth nesting level is the maximum to be specified. It can be increased to
the 100th using the Condition. The HeaderBand, FooterBand, GroupHeaderBand
and GroupFooterBand relate directly to the DataBand and, therefore, their level of
nesting depends on the nesting level of the DataBand to which they relate . It is
important to understand that the nesting level of the DataBand and the bands related
to it, does not depend on their location in the report.
© 2003-2019 Stimulsoft
Report Internals 297
For the ReportTitleBand the nesting level is determined as follows: the first (top) band
is assigned to the first nesting level, and all subsequent (located below) - the second
nesting level. For the ReportSummaryBand the nesting level is determined slightly
different: all the bands except the last (bottom) is assigned to the second nesting level,
and the last (bottom) - to the first level.
The picture below schematically shows the nesting levels for the ReportTitleBands
and ReportSummaryBands:
© 2003-2019 Stimulsoft
298 Stimulsoft Reports and Dashboards User Manual
Add condition
This button adds a new conditional formatting to component conditions.
Remove condition
This button removes a new conditional formatting from component conditions. It is
necessary to select the conditional formatting.
The buttons are used to move the selected level of conditions in the list. The higher
the level is in the list, the higher is the priority of processing.
Break if True
By default, all the conditions of the levels are processed sequentially from top to
bottom. Depending on the result, these or that format settings are applied. If you want
to stop the processing of conditions so that the processing of the condition stopped
when returning true, you should check this setting. In this case, the levels will be
processed sequentially until to return the value true. Thereafter, subsequent processing
of conditions (levels below) will be terminated.
Add level
This button adds one level of the condition parameter.
© 2003-2019 Stimulsoft
Report Internals 299
Parameters of a condition
Specify parameters of condition on this panel.
Format settings
Specify parameters of the appearance of the component on this panel.
There are two types of conditions - Value and Expression. How to set a condition is
reviewed on next topics.
If you use a Value condition you will need to set the condition using a special format
which consists of three elements:
If you were writing a value condition in code, it would look like this:
For several types of operation three values are used in calculating the condition. These
are operations in which the value is checked to determine whether or not it is within a
specified range, defined by two values. In addition to the elements described, the
condition also includes a data type. The data type helps the reporting tool to identify the
type of the second condition, and to automatically modify the list of available types of
conditional operator. The picture below shows the panel used to set a value condition:
© 2003-2019 Stimulsoft
300 Stimulsoft Reports and Dashboards User Manual
Field Is combo.
This is used to select the type of condition.
Data Type combo
This field specifies the type of data with which a condition will work. There are five
types of data: String, Numeric, DateTime, Boolean, and Expression. The data type affects
how the reporting tool processes the condition. For example, if the data type is a string,
then the methods that work with strings are used. In addition, depending on the type of
data the list of available operators is automatically changed. For example, the Contains
operator is available only for the String data type. The Expression data type provides
the ability to specify an expression instead of the second value. In this case the
reporting tool will not check the compatibility of the first and the second values of the
condition. Therefore, the user should ensure that the expression entered is valid in
order to prevent runtime errors.
Column combo
This is used to specify the column of the data source. The value of the column will be
used as the first value of the condition.
Operator combo
This is used to specify the type of operator to be used when calculating the value of the
condition.
Value box
This is used to specify the comparison value to be used when calculating the value of a
condition. For some operations you may need to specify three values.
3.3.2 Operators
The table below shows a list of operators and the data with which they can be used:
© 2003-2019 Stimulsoft
Report Internals 301
Types of data
Operator Numeri Expres Description
String Date Logic
cal sion
equal to If the first value is equal
to the second, then the
condition is true.
© 2003-2019 Stimulsoft
302 Stimulsoft Reports and Dashboards User Manual
When you choose to use an Expression condition you define a text expression that
© 2003-2019 Stimulsoft
Report Internals 303
returns a boolean value. The value returned determines whether or not the formatting
is applied. The configuration panel is shown below:
Customers.CustomerName == "MyCustomer"
If the expression cannot return a boolean value then the report generator will not be
able to render the conditional formatting.
In some cases, one comparison operation may not be sufficient to define the condition.
To allow for this situation Stimulsoft Reports allows you to specify a multi part
condition. The picture below shows the condition editor a two level multi part
condition:
© 2003-2019 Stimulsoft
304 Stimulsoft Reports and Dashboards User Manual
If you were to write this condition in code as a logical expression, it would look like this:
(Categories.CategoryID) = 1 or (Categories.CategoryID = 2)
It is possible to select the type of logical addition of the various parts of a multi part
condition: the logical AND or the Boolean OR. To define this simply select the
appropriate radio button
If the condition returns true when evaluated by the report engine the formatting of the
component will be changed according to the design settings. Setting is carried out
using the formatting panel. The picture below shows the components of the control
panel:
© 2003-2019 Stimulsoft
Report Internals 305
You can enable or disable the accessibility of the component in a report. For example,
you can remove a page from a rendered report by setting a condition.
If the condition evaluates to true, then the component appearance will change
according to settings made in this panel. If the component does not support the
specified appearance (for example, because it has no Font property), the appearance
will be automatically deleted.
In addition, you can control the availability of the control within the report using the
Component is Enabled check box.
The conditions editor of text components has differences from other components. It has
additional ability to assign text expression, if the condition is true. On the picture below
the panel to edit conditions of the text component is shown.
Assign expression. This flag controls whether or not a text expression is used in the
condition. If it is disabled then the expression is not used.
Text expression. The text expression that will be assigned to a text component if the
condition is true.
© 2003-2019 Stimulsoft
306 Stimulsoft Reports and Dashboards User Manual
The Cross Table condition editor has several differences from the standard condition
editor. In particular there are signification differences when writing expressions within
conditions, as it adds some special variables such as: value, tag, tooltip, and
hyperlink.
The value variable contains the value of the cross table cell and can be used to
calculate a condition:
tag > 50
In other words, if the value of the cell of a cross table is greater than 50, then the
condition is true and formatting that was set in the condition will be applied to the cell.
The tag, tooltip, and hyperlink variables contain the calculated values of the Tag,
Tooltip, and Hyperlink properties. For example, you may specify the name of a
product in the Tag property of the cross table cell:
{Products.ProductName}
Suppose we wanted to highlight in red the cell of the cross table in which the Coffee
product is described. This can be achieved by setting the formatting and using the
following condition:
tag == "Coffee"
© 2003-2019 Stimulsoft
Report Internals 307
The Font Name menu item. Enabling/Disabling this item provides an opportunity to
change/not change the font in the components that match the condition;
The Font Size menu item. Enabling/Disabling this item provides an opportunity to
change/not change the font size for components that match the condition;
The Font Bold menu item. Enabling of this item provides an opportunity to use bold
font for the components that match to the condition;
The Font Italic menu item. Enabling of this item provides an opportunity to use italic
font for the components that match to the condition;
The Font Underline menu item. Enabling of this item provides an opportunity to use
the underlined font for components that match to the condition;
The Text Color menu. Enabling of this item provides an opportunity to apply the text
color for the components which correspond to the condition;
The Back Color menu item. Enabling of this item provides an opportunity to apply
the background color for the components that match to the condition;
The Border menu item. Enabling of this item provides an opportunity to change the
borders of components.
Using conditional formatting it is possible to change the font of a text component. The
picture below shows a report page:
© 2003-2019 Stimulsoft
308 Stimulsoft Reports and Dashboards User Manual
For example, you can use different fonts to display the contents of a text component in
the odd and even rows. To do this, select a text component, for example a text
component with the {Customers.CompanyName} expression, in the DataBand and
call the Conditions editor. Then, you must specify the condition, for example: Line % 2
== 1. Change the formatting options, in this case, the Font Name. The picture below
shows the Conditions editor dialog box:
© 2003-2019 Stimulsoft
Report Internals 309
After making changes in the report template, the report engine will perform conditional
formatting of text components, according to the specified parameters. In this case, the
font of the selected text component will be changed, depending on the condition. The
picture below shows the page of the rendered report with conditional formatting:
As can be seen in the picture above, the text components of the CompanyName
column, located in the even and odd lines, use different fonts.
Using conditional formatting it is possible to change the font size of a text component.
Let us consider in more detail changing the font size of the contents of a text
component. The picture below shows a report page:
© 2003-2019 Stimulsoft
310 Stimulsoft Reports and Dashboards User Manual
For example, you can use different font sizes to display the contents of a text
component in the odd and even rows. To do this, select a text component, for example a
text component with the {Customers.Country} expression, in the DataBand and call
the Conditions editor. Then, you must specify the condition, for example: Line % 2 ==
1. Change the formatting options, in this case, the Font Size. The picture below shows
the Conditions editor dialog box:
After making changes in the report template, the report engine will perform conditional
formatting of text components, according to the specified parameters. In this case, the
font size of the selected text component will be changed, depending on the condition.
The picture below shows the page of the rendered report with conditional formatting:
© 2003-2019 Stimulsoft
Report Internals 311
As can be seen in the picture above, the text components of the Country column,
located in the even and odd lines, use different font sizes.
Using conditional formatting it is possible to apply the bold font for the text
component. The picture below shows a report page:
For example, you can make a text bold for components that contain the Germany word
in the Country column. Select a text component with the {Customers.Country}
expression, in the DataBand and call the Conditions editor. Then, you should set a
condition: select the Customers.Country data column, as the first value, and indicate
the Germany word, as a second value. Also set the Operation comparison to the
Containing value. Change the formatting parameters, in this case, set the font style to
bold. The picture below shows the Conditions editor dialog box:
© 2003-2019 Stimulsoft
312 Stimulsoft Reports and Dashboards User Manual
After making changes in the report template, the report engine will perform conditional
formatting of text components, according to the specified parameters. In this case, the
bold font will be applied for the content of text components that match the specified
condition. The picture below shows a page of the rendered report with conditional
formatting:
© 2003-2019 Stimulsoft
Report Internals 313
As can be seen in the picture above, lines of text components of the Country column
which contain a Germany word are bold.
Using conditional formatting it is possible to apply the italic font for the text
component. The picture below shows a report page:
For example, you can make a text italic for components that contain a B letter in the
CompanyName column. Select a text component with the
{Customers.CompanyName} expression, in the DataBand and call the Conditions
editor. Then, you should set a condition: select the Customers.CompanyName data
column, as the first value, and indicate the B letter, as a second value. Also set the
Operation comparison to the Beginning with value. Change the formatting
parameters, in this case, set the font style to italic. The picture below shows the
Conditions editor dialog box:
© 2003-2019 Stimulsoft
314 Stimulsoft Reports and Dashboards User Manual
After making changes in the report template, the report engine will perform conditional
formatting of text components, according to the specified parameters. In this case, the
italic font will be applied for the content of text components that match the specified
condition. The picture below shows a page of the rendered report with conditional
formatting:
© 2003-2019 Stimulsoft
Report Internals 315
As can be seen in the picture above, lines of text components of the CompanyName
column which starts with a B letter are italic.
Using conditional formatting it is possible to apply the underlined font for the text
component. The picture below shows a report page:
For example, you can make a text underlined for components that contain a Nancy
word in the FirstName column. Select a text component with the
{Employees.LastName} expression, in the DataBand and call the Conditions editor.
Then, you should set a condition: select the Employees.FirstName data column, as the
first value, and indicate the Nancy letter, as a second value. Also set the Operation
comparison to the not equal to value. Change the formatting parameters, in this case,
set the font style to underlined. The picture below shows the Conditions editor dialog
box:
© 2003-2019 Stimulsoft
316 Stimulsoft Reports and Dashboards User Manual
After making changes in the report template, the report engine will perform conditional
formatting of text components, according to the specified parameters. In this case, the
underlined font will be applied for the content of text components that match the
specified condition. The picture below shows a page of the rendered report with
conditional formatting:
© 2003-2019 Stimulsoft
Report Internals 317
As can be seen in the picture above, lines of text components of the FirstName column
which starts with the Nancy word are underlined.
Using conditional formatting it is possible to apply the color for the text component.
The picture below shows a report page:
For example, you can change a text color of entries which ends with an o letter in the
Country column. Select a text component with the {Customers.Country} expression,
in the DataBand and call the Conditions editor. Then, you should set a condition:
select the Customers.Country data column, as the first value, and indicate the o letter,
as a second value. Also set the Operation comparison to the ending with value.
Change the formatting parameters, in this case, change the text color. The picture below
shows the Conditions editor dialog box:
© 2003-2019 Stimulsoft
318 Stimulsoft Reports and Dashboards User Manual
After making changes in the report template, the report engine will perform conditional
formatting of text components, according to the specified parameters. In this case, the
text color will be applied for the content of text components that match the specified
condition. The picture below shows a page of the rendered report with conditional
formatting:
© 2003-2019 Stimulsoft
Report Internals 319
As can be seen in the picture above, lines of text components of the Country column
which ends with the o letter are red.
Using conditional formatting it is possible to apply the background color for the text
component. The picture below shows a report page:
For example, you can change the background color of text components which contain a
London word in the City column. Select a text component with the {Customers.City}
expression, in the DataBand and call the Conditions editor. Then, you should set a
condition: select the Customers.City data column, as the first value, and indicate the
London word, as a second value. Also set the Operation comparison to the
containing value. Change the formatting parameters, in this case, change the
background color. The picture below shows the Conditions editor dialog box:
© 2003-2019 Stimulsoft
320 Stimulsoft Reports and Dashboards User Manual
After making changes in the report template, the report engine will perform conditional
formatting of text components, according to the specified parameters. In this case, the
background color will be applied for the content of text components that match the
specified condition. The picture below shows a page of the rendered report with
conditional formatting:
© 2003-2019 Stimulsoft
Report Internals 321
As can be seen in the picture above, background color of text components of the City
column which contain the London word, will be changed.
3.3.8.8 Borders
Using conditional formatting it is possible to apply borders for the text component. The
picture below shows a report page:
For example, you can set borders of text components which contain a Germany word
in the Country column. Select a text component with the {Customers.Country}
expression, in the DataBand and call the Conditions editor. Then, you should set a
condition: select the Customers.Country data column, as the first value, and indicate
the Germany word, as a second value. Also set the Operation comparison to the
containing value. Change the formatting parameters, in this case, set borders. It is
possible to configure showing borders. The following options are available: All (show
all borders), None (Do not show borders), Top (show a top border), Left (show a left
border), Bottom (show a bottom border), Right (show a right border). The picture
below shows the Conditions editor dialog box:
© 2003-2019 Stimulsoft
322 Stimulsoft Reports and Dashboards User Manual
After making changes in the report template, the report engine will perform conditional
formatting of text components, according to the specified parameters. In this case, the
borders will be set for the text components that match the specified condition. The
picture below shows a page of the rendered report with conditional formatting:
As can be seen in the picture above, borders of text components of the Country
© 2003-2019 Stimulsoft
Report Internals 323
Using conditional formatting it is possible to show/hide the text component. The picture
below shows a report page:
For example, you can hide the text components which contain a S letter in the Country
column. Select a text component with the {Customers.Country} expression, in the
DataBand and call the Conditions editor. Then, you should set a condition: select the
Customers.Country data column, as the first value, and indicate the S letter, as a
second value. Also set the Operation comparison to the Beginning with value.
Change the formatting parameters, in this case, uncheck the Component Is Enabled
check box. The picture below shows the Conditions editor dialog box:
© 2003-2019 Stimulsoft
324 Stimulsoft Reports and Dashboards User Manual
After making changes in the report template, the report engine will perform conditional
formatting of text components, according to the specified parameters. In this case, the
borders the text components that match the specified condition will be hidden. The
picture below shows a page of the rendered report with conditional formatting:
As can be seen in the picture above, the text components of the Country column which
© 2003-2019 Stimulsoft
Report Internals 325
Using conditional formatting it is possible, in a text component, to change the text, i.e.
replace its textual expression on a text expression, specified in the condition. The picture
below shows a report page:
© 2003-2019 Stimulsoft
326 Stimulsoft Reports and Dashboards User Manual
After making changes in the report template, the report engine will perform conditional
formatting of text components, according to the specified parameters. In this case,
assigning of the text expression in the text components that match the specified
condition will be done. The picture below shows a page of the rendered report with
conditional formatting:
© 2003-2019 Stimulsoft
Report Internals 327
As can be seen in the picture above, assigning of expressions in the text components of
the Phone column which entries start with the (5) character will be done.
The Data Bar condition provides an opportunity to visually display the dynamics of
changing values of a data column. The Data Bar condition works following principles
described below. All the values in the selected data column are analyzed, the minimum
and maximum values are determined. Minimum corresponds to 0 percent, maximum -
100 percent. When drawing each component, to which this condition is applied, a value
from the selected data column will be specified. Then, the percentage of this value is
calculated from the minimum to maximum range. Depending on the percentage, the
Data Bar is rendered. If the value is close to the maximum, the greater length a data
bar would be. If the value is close to or equal to a minimum value, the data bar will be
almost unfilled. The picture below shows a report page:
Add the Data Bar condition. To do this, select a text component, for example a text
component with the {Employees.EmployeeID} expression. Add the Data Bar
expression. Change parameters of the condition. The picture below shows the
Conditions dialog box:
© 2003-2019 Stimulsoft
328 Stimulsoft Reports and Dashboards User Manual
The Column field. This field indicates the data column from which values will be
taken for drawing the Data Bar.
The Type field is used to change the type of a minimum value. The following types
are available:
Auto defines the minimum value in the selected data column, and if it is greater
than zero, then reset to zero. Thus, if the data column has 25 as the minimum
number and 100 as the maximum. In the component with a minimum number, the
histogram will be rendered by 25 per cent. With this type, the extreme range of the
value is 0.
Percentage is used to specify a minimum value as a percentage;
Value provides an opportunity to specify a minimum value as a numerical value,
Minimum defines the minimum value in the selected data column and does not
reset it to null. Thus, if the data column has 25 as the minimum number and 100 as
the maximum. In the component with a minimum number, the histogram will not
be rendered because 25 is the extreme value of the range.
© 2003-2019 Stimulsoft
Report Internals 329
The Type field is used to change the type of a maximum value. The following types
are available:
Auto defines the minimum value in the selected data column, and if it is less than
zero, then reset to zero. Thus, if the data column has -25 as the maximum number
and -100 as the minimum. In the component with a maximum number, the
histogram will be rendered by 25 per cent. With this type, the extreme range of the
value is 0;
Percentage is used to specify a maximum value as a percentage;
Value provides an opportunity to specify a maximum value as a numerical value;
Maximum defines the maximum value in the selected data column and resets it
to null. Thus, if the data column has -25 as the maximum number and -100 as the
minimum. In the component with a maximum number, the histogram will not be
rendered because -25 is the extreme value of the range.
Notice: The difference between the Auto from the Maximum and Minimum may be noticeable
only in a certain range of numbers.
© 2003-2019 Stimulsoft
330 Stimulsoft Reports and Dashboards User Manual
(gradient or solid); the Positive field is used to change the color a Data Bar for positive
values; the Negative field is used to change the color a Data Bar for negative values.
The Borders parameter include: the Borders field is used to choose the type of a
border (none or solid); the Positive field is used to change the border color a Data Bar
for positive values; the Negative field is used to change the border color a Data Bar for
negative values.
The Sample field shows an example of a Data Bar.
After making changes in the report template, the report engine will perform conditional
formatting of text components, according to the specified parameters. The picture
below shows a page of the rendered report with conditional formatting:
As can be seen from the picture above, the EmployeeID value includes the numbers
from 1 to 9, where 1 is the minimum value, and 9 is the maximum one. And according
to the changing dynamics of values a data bar will be drawn.
Negative values
In the data column from which values are taken when displaying the histogram may be
found both positive and negative values. In this case, analysis of all the values in the
selected column of data is determined by the minimum and maximum values. The
minimum value is 0 per cent, maximum is 100 per cent. Next, we determine a zero, ie
beginning from which a histogram of negative and positive values. For example, the
minimum value is -1, while the maximum is three, ie percentage of negative values in
the absolute values of band reception is 25 percent and 75 percent positive. Hence the
beginning, from which will be constructed histogram is 25 per cent of the length of the
component from its left border and 75 percent of the length of the component from its
right boundary (at the direction of the histogram from left to right). Histogram of
negative values will be rendered in a color that is selected in the Negative, and the
© 2003-2019 Stimulsoft
Report Internals 331
histogram of positive values of a color that is selected in the Positive. The picture below
shows an example of a rendered report with negative and positive values:
The picture below shows an example of a rendered report with negative and positive
values:
As can be seen in the picture above, the background color depending on the value in a
color scale is changed in text components.
The Color Scale Condition allows selecting a component with a color in the rendered
© 2003-2019 Stimulsoft
332 Stimulsoft Reports and Dashboards User Manual
report, to which will this condition corresponds. The Color Scale Condition is working
according to the the following principle: if the color scale consists of 2 colors (minimum
and maximum), then the minimum and maximum values for selected data columns are
specified. Values that correspond to the maximum and minimum values are indicated
with colors. For other values, which are taken from selected data columns, the location
in the color scale is calculated.Depending on location in color scale, the color is
assigned to this value, so the color is assigned to the component. If the minimum value
is equal to or less than the specified minimum in the condition, that means it will be a
boundary minimum value and will use the color, chosen for the minimum value. If the
maximum value in the data column is equal to or greater than the specified maximum
in the condition, then it will be a maximum boundary value, and will use the color
selected for a maximum value. If the value is in the middle between the minimum and
maximum value, then the background color of a component with this value will be an
interpolated color for minimum and maximum values. If the color scale consists of 3
values (low, medium, high), then the minimum, medium and maximum values are
defined. For each value, which is taken from the selected data column, the position in
the color scale is calculated depending on the location of the value and the color is
assigned. So the color of the component is changed. The color scale represents a
smooth transition between the three colors: the color from minimum to medium, and
the color from medium to maximum. The background color of a component with a
value that is strictly in the middle between the minimum and average value will be an
interpolated color of minimum and medium values. The background color of a
component with a value that is strictly in the middle between the average and
maximum value will be an interpolated color of medium to maximum values. The
picture shows a report page:
© 2003-2019 Stimulsoft
Report Internals 333
Add the Color Scale Condition. To do this, select a text component, for example a
component with the {Employees.EmployeeID} expression. Add a Color Scale
Condition. Change the parameters of the condition. The picture below shows the
Conditions dialog:
© 2003-2019 Stimulsoft
334 Stimulsoft Reports and Dashboards User Manual
The Column field. This field indicates the data column from which the value for the
condition will be taken;
The Color Scale Type fields provides an opportunity to choose the type of color
scheme: 2-color scales, or 3-color scales. The picture below shows the menu to select
the type a of color scale:
The Type field provides an opportunity to change the type of a value that will be
specified in the Value field for a minimum color scale. The picture below shows the
menu to select the type of a value:
After making changes in the report template, the report engine will perform conditional
formatting of text components, according to the specified parameters. In this case,
depending on the value of the component, the background of a text component will be
changed. The picture below shows a rendered page of the report with conditional
formatting:
© 2003-2019 Stimulsoft
Report Internals 335
As can be seen in the picture above, the background color depending on the value in a
color scale is changed in text components.
The Icon Set condition is used to identify the component with an icon to which a
condition is applied. The Icon Set works the following way. The minimum and
maximum values for all values in the selected data column are defined first. All
calculated values are in the range from 0 to 100 percent. A group of icons is selected.
Then, the condition and boundary values (for example 33 per cent and 67 per cent) for
each icon are set. If, for example, a group of three icons is selected, each of these
selected icons have a subrange. In this case, each of the icons has subrange in 33
percent (from 0 to 33, from 33 to 67, from 67 to 100). This allows you to mark a
component with an appropriate icon depending on the value. The picture below shows
a report page:
© 2003-2019 Stimulsoft
336 Stimulsoft Reports and Dashboards User Manual
Add an Icon Set condition. To do this, select a text component, for example a
component with the {Employees.Country} expression. Add the Icon Set condition.
Change the parameters of the condition. The picture below shows the Conditions
dialog:
The Column field. This field is used to choose a data column from which values for
the condition will be taken. For example, choose the {Employees.EmployeeID} data
column;
A menu used for selecting a group of icons. The picture below shows the menu of
selecting icons:
© 2003-2019 Stimulsoft
Report Internals 337
The Reverse button is used to change the location of icons in reverse order. The
order of the icons is displayed in the Icon field.
The Alignment field is used to align icons in text components. The picture below
shows the Alignment menu options:
The Icon field shows the order of icons, and provides an opportunity to change the
© 2003-2019 Stimulsoft
338 Stimulsoft Reports and Dashboards User Manual
The Type field is used to change the type of a value of the first sub-condition. There are
two values: Percentage and Value. The picture below shows the menu to select the type
of a value:
A sub-condition includes: the Operation, Type, and Value fields. In this case, it is the
second sub-condition.
After making changes in the report template, the report engine will perform conditional
formatting of text components, according to the specified parameters. In this case, the
appropriate icon for a text component will be applied. The picture below shows a page
of the rendered report with conditional formatting:
© 2003-2019 Stimulsoft
Report Internals 339
As can be seen in the picture above, the icon depending on the value of a condition will
be applied to each text component.
Stimulsoft Reports has a number of ways for handling, processing and showing a text.
The text component can contain a simple text, and expression. Whether it is a
calculation of an expression, or j ust a reference to a data column. Text components can
be placed on other components, or directly on the report page. But no other
components can be put into the text component.
Editing text components can be done in the Text Editor. This editor contains several
tabs in which you can change an expression of the text component, select a column,
system variable, specify the calculation results.
In the tab Expression, you can specify a text, expression, reference to any item in the
data dictionary:
© 2003-2019 Stimulsoft
340 Stimulsoft Reports and Dashboards User Manual
This tab is represented by a single panel, which displays only the data columns from
the Dictionary. When you select a column, an expression will be formed. This
© 2003-2019 Stimulsoft
Report Internals 341
expression is a reference to the description of this column in the report data dictionary.
Also on this tab you may find parameter Show Instead Null Values , using which you
can specify the characters to be displayed instead of the zero values of selected data
columns.
On this tab, you can create an expression that calculates summary. The result of it will
be displayed in this text component:
© 2003-2019 Stimulsoft
342 Stimulsoft Reports and Dashboards User Manual
In this drop-down list you may determine the type of an aggregate function
(operation) to calculate the summary.
In this drop-down list you can select the data band by which the summary will be
calculated.
This list defines the data column, the values
of which will be calculated totals.
This radio button sets the calculation function for the entire report. The value of the
function in the any place of the report will be the same.
This radio button sets the calculation of the functions of the data column.
This radio button sets the calculation of the function by a report page. On each report
page the total value will be calculated only on the page.
The checkbox sets the calculation mode with the running total. Each subsequent
result includes all the previous ones.
The checkbox Condition allows you, when calculating totals, to take into account the
value only when executing a certain condition.
The field is used for the condition expressions. Available when the checkbox
Condition is enabled.
If the text cannot be put on one line it will be trimmed by default. If it is required to put
a text on some lines, then you should set the word wrap. You should set the
TextOptions.WordWrap property of the Text component to true. When the text is
wrapped on a new line, vertical and horizontal alignments are used.
© 2003-2019 Stimulsoft
Report Internals 343
If there is not enough space to put whole text line in the text component, then, using
the TextOptions.Trimming property, it is possible to customize text trimming. It has
the following values:
None - the text is trimmed strictly by the edge of a text component or, if it is a multiline
text, by the last visible word;
© 2003-2019 Stimulsoft
344 Stimulsoft Reports and Dashboards User Manual
Ellipsis Word - omission points are added after the last visible word;
Ellipsis Path - the middle of a line is changed to dots so as the beginning and the end
of a text line can be visible.
Often it is necessary to output text and do not show vertically trimmed lines on the
bottom of a component. If to set the LineLimit property to true, then only full lines will
be output. Absence of additional line may change the word wrap.
© 2003-2019 Stimulsoft
Report Internals 345
How to make the Text component, when increasing the vertical size, increase it on the
maximal number of horizontal lines? Use the MaxNumberOfLines property. By
default, this property is equal in zero and the component will be increased vertically.
The component increasing is limited in page size. If you set the value of this property in
5, then, when increasing the vertical size, it will be increased in 5 horizontal lines.
© 2003-2019 Stimulsoft
346 Stimulsoft Reports and Dashboards User Manual
Set the angle of the text rotation using the Angle property of the Text component. The
angle of the text is given in degrees anticlockwise.
In many reports there is a necessity to j oin a few Text components in one which
contain duplicated values. The ProcessingDuplicates property is used for this. It
should be set to true.
See the picture below how repeated text values are j oined.
© 2003-2019 Stimulsoft
Report Internals 347
© 2003-2019 Stimulsoft
348 Stimulsoft Reports and Dashboards User Manual
Merge - In this mode, the text components with identical values are merged into a
single text component.
Hide - In this mode, the first text component remains on its place without changing the
size. The rest of the text components are removed from the report.
Remove Text - In this mode, the first text component remains in place without
changing the size. The rest of the text components to remain in their seats, but they
removed the text content.
© 2003-2019 Stimulsoft
Report Internals 349
Combining the components with the same value is taken into account in the name of
the components of a report template. If suddenly one of the other two will be exactly
the same text component with the same text values, but they will have different names,
then those components will not be merged. To avoid this limitation you need to use
the GlobalMerge, GlobalHide, GlobalRemoveText. They worked the same way as
described above regimes, but it does not take into account the names of the
components.
Often, when the numerical information is printed then it is required to ignore the zero
values. In other words it is necessary do not show print them at all. The HideZeros
property is used for this. It is necessary to set this property to true, and the Text
component will not print zero values. The picture below shows an example without
using this property (left picture) and using the property (right picture).
© 2003-2019 Stimulsoft
350 Stimulsoft Reports and Dashboards User Manual
The ReportTo property of the Text component is used for synchronous output of a
message in two text components. The message is specified in the first text component.
Then, in this text component, in the ReportTo property, the second text component, on
which message output will be continued, is specified. If the space in the first component
is not enough for the message output, then this message will be continuing to output in
the second component. You should consider, that in the first component, whole number
of vertical visible lines will be output. In the second component the message will be
continuing to output starting with the end of the message of the first component. You
should know that for the correct work of this function you have to create the first
component and then the second one. If there was another order of creation of
components you may use commands of components order.
© 2003-2019 Stimulsoft
Report Internals 351
The ReportTo property makes it possible to work only with components that are
located on one level - such as a bands.
The Shrink Font To Fit property of a text component is used when it is necessary to
adj ust the height of the text to the size of the text component. This property can be
found on the Properties Panel.
© 2003-2019 Stimulsoft
352 Stimulsoft Reports and Dashboards User Manual
The property can take two values : true and false, respectively, that means the property
is enabled or disabled. By default, the property is set to false.
The picture below shows a component with the text, which is clearly larger than the size
of the component.
When the Shrink Font To Fit property is set to false, the text in the viewer will look
like on the picture below
When the Shrink Font To Fit property is set to true, the text in the viewer will look like
on the picture below
© 2003-2019 Stimulsoft
Report Internals 353
Notice: The Shrink Font To Fit is a post-processing property and this should be taken
into account when adj usting the text component. If you enabled CanBreak and
CanShrink properties, then, when rendering a report, the text component will take a size
corresponding to the height of the text on the basis of preset font size.
CanBreak and CanShrink properties are disabled, but Shrink Font To Fit is set to
true
CanBreak and CanShrink properties are enabled, but Shrink Font To Fit is set to true
The Shrink Font to Fit Minimum Size property of the text component is used to
adj ust the minimum size of the font to which the text should be reduced. This property
can be found on the Properties Panel.
© 2003-2019 Stimulsoft
354 Stimulsoft Reports and Dashboards User Manual
The Shrink Font to Fit Minimum Size property is set to 4. The font Arial, size 8pt
Notice: Works in association with the Shrink Font To Fit property set to true.
How to get an expression to be output "as is", without code processing? Set the
TextOnly property to true, and all the expressions will be output as a text. No
© 2003-2019 Stimulsoft
Report Internals 355
The TextOnly property is set to true. The text is output "as is", without processing of
expressions.
The TextOnly property is set to false. The text is output with processing of
expressions.
By default, the report generator immediately processes all expressions which are met in
the text. But sometimes it is necessary to process expressions after the report rendering.
For example, while report rendering, the calculation of a variable is in process. The
result of calculation will be known right after the report rendering, and the result of
calculation is to be output on every page of a report. To do this, set the value of the
Process At property of the Text component to true.
Important: When the content of the text component is processed in the end of the
report rendering, the report generator cannot define the true size of the component
when it is output. Therefore, auto change of the component size will work with failure.
Zip code is used for mailing, in order to facilitate sorting. Stimulsoft Reports has a
special component to display this code. It is called the Zip Code component. It can be
placed on components, bands and pages. Setting the values of this component is
© 2003-2019 Stimulsoft
356 Stimulsoft Reports and Dashboards User Manual
possible by means of the Code property. This value of the property can be any
character, but the Zip Code component can only display numbers. The picture below
shows a zip code with numbers "123456789":
In order to increase the font size, change the value of the Size property, specifying the
size with numbers, the higher the value is, the thicker is the width of the elements. The
picture below shows a zip code with an increased width:
The Text format is a representation of information in the special form (grouping and
data output, in order to the specified pattern). Stimulsoft Report contains all necessary
instruments required for formatting of all information that will be output. The Text
Format is the basic tool for formatting a text before output. This tool is a dialog box,
which allows setting parameters of format. Text format dialog box is called from the
context menu, that appears when right-clicked on the text components, which supports
formatting.
© 2003-2019 Stimulsoft
Report Internals 357
© 2003-2019 Stimulsoft
358 Stimulsoft Reports and Dashboards User Manual
The Standard format is used to show text and numerical values of any type. No
formatting is done in this case.
© 2003-2019 Stimulsoft
Report Internals 359
Set the numeric format for the values ProductID, CategoryID, UnitPrice. For this you
should select the text components which contain references to the relevant data
columns and click the button of the Text Format property. In the Format dialog box
you should go to the Number tab and define the settings.
It should be noted that there were two ways available to determine the format mask:
Use local settings. The text is formatted according to the current settings of the
operating system.
© 2003-2019 Stimulsoft
360 Stimulsoft Reports and Dashboards User Manual
Sometimes there were some disadvantages in both cases. For example, when using
local settings to change the format parameters you should edit formats of the
operating system. In the second case, when it is needed to change one parameter you
should adj ust others as well. Considering disadvantages of these methods, there is a
third way to determine the format. Using the local settings you can change any
parameter format. To do this, set the flag next to the parameter and set its value.
Group separator
When the Group Separator is used then number will be separated into number
positions.
Local setting
When using the Local settings, numerical values are formatted according to the current
OS installations.
Decimal digits
Number of decimal digits, which are used to format numerical values.
Decimal separator
© 2003-2019 Stimulsoft
Report Internals 361
Thus, for columns ProductID, CategoryID we change only the number of digits in the
fractional part.
Notice: In order to display currency values you should use the Currency format. In the example
above, for the UnitPrice column you should set the Currency format.
In order to display numeric values as a currency you should use the Currency format.
This format is designed specifically to output monetary values.
© 2003-2019 Stimulsoft
362 Stimulsoft Reports and Dashboards User Manual
Information: It is understood that when setting the currency format, the important
point is the selection of the required currency. The same value can be either the US,
European Union, China currency and the currency of any other country.
For example, the prices are in US dollars. Then, select the appropriate currency sign, and
determine the parameters of the format.
© 2003-2019 Stimulsoft
Report Internals 363
It should be noted that previously there were two ways to determine the format mask:
Use local settings, i.e., the text is formatted according to the current settings of the
operating system.
Each parameter is defined by the format mask manually.
Sometimes there were some disadvantages in both cases. For example, when using
local settings to change the format parameters you should edit formats of the
operating system. In the second case, when it is needed to change one parameter you
should adj ust others as well. Considering disadvantages of these methods, there is a
third way to determine the format. Using the local settings you can change any
parameter format. To do this, set the flag next to the parameter and set its value.
© 2003-2019 Stimulsoft
364 Stimulsoft Reports and Dashboards User Manual
Group separator
When the Group Separator is used then currency values will be separated into number
positions.
Local setting
When using the Local settings, currency values are formatted according to the current
OS installations.
Decimal digits
Number of decimal digits, which are used to format currency values.
Decimal separator
Used as a decimal separator to separate currency values in formatting.
Group separator
Used as a group separator when currency values formatting.
Group size
The number of digits in each group in currency values formatting.
Positive pattern
This pattern is used to format positive values.
Negative pattern
This pattern is used to format negative values.
© 2003-2019 Stimulsoft
Report Internals 365
Currency symbol
This symbol is used to define the currency name.
Let's go back to the example described above. Change the values only for the Positive
Pattern and Currency Symbol parameters. Other parameters will be determined by
local settings.
If the report contains text components which output date in the rendered report then
the Date formatting can be applied to this text component. The date format is selected
from a set of specified formats - short format, long format, etc. In the applied format,
except the ones with an asterisk (*), the order of elements does not change. For
example, the report contains the list of products and OrderDate, RequiredDate,
ShippedDate.
© 2003-2019 Stimulsoft
366 Stimulsoft Reports and Dashboards User Manual
By default, it displays the date and time. Set dates for the various formats. To do this,
select the text component, call the Format dialog, go to the Date tab, and select the
appropriate type.
© 2003-2019 Stimulsoft
Report Internals 367
Date format
The list of formatting types.
And then, the dates in the report will be displayed with certain formats.
© 2003-2019 Stimulsoft
368 Stimulsoft Reports and Dashboards User Manual
Notice: In addition to the formats on the Date tab, you can create a format on the
Custom tab.
The Time format is used to show time. The Time format is selected from the set of
formats: short date format and extended date format (with seconds).
© 2003-2019 Stimulsoft
Report Internals 369
Time format
The list of formatting types
Below is an example of the report with the Time output and applied format to text
components.
© 2003-2019 Stimulsoft
370 Stimulsoft Reports and Dashboards User Manual
If the report uses the relative values, the current data can be output as a percentage text
format. Consider the example of a report with relative values. Let's have a report that
contains a list of products (standard format), their price (currency format) and the
profitability index (number format).
© 2003-2019 Stimulsoft
Report Internals 371
Now let's add a column with profitability. In this case, the profitability is the ratio as a
percentage value. To do this, add the text component on the right with the reference to
the Products.ProfitabilityIndex column and set the format as percent for this text
component. The header of this column will be Profitability.
It should be noted that previously there were two ways to determine the format mask:
Use local settings, i.e., the text is formatted according to the current settings of the
operating system.
Each parameter is defined by the format mask manually.
Sometimes there were some disadvantages in both cases. For example, when using
local settings to change the format parameters you should edit formats of the
operating system. In the second case, when it is needed to change one parameter you
should adj ust others as well. Considering disadvantages of these methods, there is a
third way to determine the format. Using the local settings you can change any
parameter format. To do this, set the flag next to the parameter and set its value.
© 2003-2019 Stimulsoft
372 Stimulsoft Reports and Dashboards User Manual
Group separator
When the Group Separator is used then currency values will be separated into number
positions.
Use local setting
When using the Local settings, numerical values are formatted according to the current
OS installations.
Decimal digits
Number of decimal digits, which are used to format numerical values.
Decimal separator
Used as a decimal separator to separate numerical values in formatting.
Group separator
Used as a group separator when numerical values formatting.
Group size
The number of digits in each group in currency values formatting.
Positive pattern
This pattern is used to format positive values.
Negative pattern
This pattern is used to format negative values.
© 2003-2019 Stimulsoft
Report Internals 373
Percentage symbol
The symbol will used as a percent sign.
If, for some reason there are no predefined formats appropriate for you, then you can
customize the format according to your needs. For example you have a report with a
list of products, Order Date, Shipped Date, and the price of the product. Let's apply to
© 2003-2019 Stimulsoft
374 Stimulsoft Reports and Dashboards User Manual
them predefined date formats and local settings for the price.
Now let's set the format mask for each text component. To do this, select the text
component, call the Format dialog, go to the Custom tab and create a mask.
© 2003-2019 Stimulsoft
Report Internals 375
Mask
A string or an expression that set formatting mask.
Predefined values
The list of predefined values to format a string.
For the Order Date the mask has the form yyyy-MM-dd, Shipped Date - MM-dd-
yyyy. For the price of a product the mask is 0.00 dollars of USA. The data in the
rendered report will be formatted as in the picture below.
© 2003-2019 Stimulsoft
376 Stimulsoft Reports and Dashboards User Manual
The Text Format tool allows values formatting using a lot of parameters and options.
But this tool has one weak point. Formatting is applied on the whole text obj ect. For
example, if the text component is used to output data, then it is easy to format. But to
do if it is required to format only one value from an expression? Or what to do if it is
required to format two or more values of an expression? In this case it is recommended
to use use the string.Format method. This method is used to make almost the same
kind of formatting as if you use the Text Format tool. But the string.Format method is
more flexible. For example, to format the value as a currency the C specificator is used:
The string.Format method may have more than one parameter of formatting, for
example:
© 2003-2019 Stimulsoft
Report Internals 377
Stimulsoft Reports has the ability to format text using standard HTML formatting tags.
Important: Only a limited range of HTML tags are supported - for example you
cannot use div span. If you need to achieve bullet points or numbers within your text
your choices are to enter them manually or to use the RTF text editor component.
HTML tags can help achieve this. The output shown above could be generated using the
following expression:
It is possible to get a similar result without using HTML by using the Rich text
component, but there are some difficulties and the Rich text component works very
slowly, so using HTML tags is often the best way to achieve the desired result.
HTML tags can be included only in the text part of expression, in other words their use
is possible only in the Text property of the Text component.
Important: HTML tags can be included only in the text part of an expression.
© 2003-2019 Stimulsoft
378 Stimulsoft Reports and Dashboards User Manual
In the examples above the HTML tags are placed within the body of an expression that
will be calculated by C# or VB.Net, shown by the curly braces, so they are impossible to
process.
Important: Do NOT place HTML tags inside the curly braces of any expression or the
expression will fail.
Available Tags
There are few limitations - most valid HTML style tags can be inserted, with the
exception of ordered list and unordered list tags. If you need to generate such lists you
can use the Rich Text control or create the layout manually.
Important: You cannot use Ordered and Unordered List tags within expressions.
If a tag is not closed, then the tag works to the end of the text line.
If HTML tags are used in a text expression then any line breaks in that expression are
ignored. If you need to enforce a line break in your text, use the <br> tag.
Note. Use the <br> tag to break a line when using HTML tags.
© 2003-2019 Stimulsoft
Report Internals 379
It is important to know that by default HTML tags in expressions are simply ignored. To
allow the use of HTML tags it is necessary to set the AllowHtmlTags property of the
Text component to true.
Important: Set the AllowHtmlTags property to true to allow the use of HTML tags in
the text expression.
The tag is used to add style, size, and color to a text expression. If there is no closing tag
then all changed font characteristics will be applied from the beginning of the tag and
to the end of the text.
Syntax:
Parameters:
color Defines the color of the text.
face Defines the font of the text.
size Defines the size of the text.
Not all of these attributes have to be used. The default value is set within the attributes
of the text component, so if the font size of the text component is 8 points and the size
parameter is not used in the tag, then the text will be output at 8 points. The same rule
works for the other attributes.
Example:
If you enter the following expression:
then after calculation the result appearing in the report will be:
© 2003-2019 Stimulsoft
380 Stimulsoft Reports and Dashboards User Manual
The color parameter defines the color of the text in the font element. The color can be
set in two ways:
By Name
You can define the color by name - a collection of 147 color names is supported. If the
report generator is not able to identify the color set, then it ignores the color attribute.
For example:
By Hex Value
You can also specify the color using a hex (hexadecimal) value like"#ff0000". It is very
important to add the hash symbol '#' before the hexadecimal notation.
The color is a combination of Red, Green and Blue values (#rrggbb). Each of the three
colors may have hex values from 00 through to FF. The first two rr symbols indicate the
red part of the color, gg symbols indicate the green part of the color, and bb symbols
indicate the blue part. A color can be set in a short form using one symbol for each
color. For example:
Important: If the color value set is not recognized or is invalid, then the color
specified in the Text component or in the tag is used.
© 2003-2019 Stimulsoft
Report Internals 381
Alternative Tags
The tag or the tag can also be used to define the text color.For example:
<font-color="red">
<color="red">
The face attribute defines the name of the font of the text within the font element. To
use this attribute you must specify the font name. If the font is not found, then the font
of the text component or the previous font specified in thetag is used.
Alternative Attributes
Instead of the "face" attribute the attributes "name" and "family" can be used. All
these attributes are identical. For example:
Alterative Tags
The tag is the same as the tag with the face attribute. For example:
<font-face="Arial">
© 2003-2019 Stimulsoft
382 Stimulsoft Reports and Dashboards User Manual
The size attribute defines the size of the text in the font element in points. For example:
Alternative Tags
The font size can also defined separately using the tag. For example:
<font-size="14">
The report generator supports nine tags for changing a font style: <b>, <i>, <u>, <s>,
<sup>, <sub>, <strong>, <p>, <br>. These HTML tags are called formatting tags.
These formatting tags can make text bold, italic, sub/superscripted, and more.
The example below shows how the <b> tag works in a text expression. If you enter the
following expression:
then after calculation the result appearing in the report will be:
Note that the word 'text' is enclosed within the opening and closing <b> and </b>
tags.
Formatting tags can be used in combination with other formatting tags to changing the
text style. For example, if you enter the following expression:
© 2003-2019 Stimulsoft
Report Internals 383
then after calculation the result appearing in the report will be:
Style intersection is not allowed, i.e. formatting tags may not be nested partly inside
and partly outside another formatting tag. For example:
The available formatting tags are discussed in detail in the following topics.
The <b> tag is used to define bold text. The tag can be used in combination with other
tags to change the text style. For example, if you enter the following expression:
then after calculation the result appearing in the report will be:
If a tag is not closed then the formatting is applied to from the opening tag to the end
of the text expression.
The <i> tag is used to define italic text. The tag can be used in combination with other
© 2003-2019 Stimulsoft
384 Stimulsoft Reports and Dashboards User Manual
tags to change the text style. For example, if you enter the following expression:
then after calculation the result appearing in the report will be:
If a tag is not closed then the formatting is applied to from the opening tag to the end
of the text expression.
The <em> tag is used for indicating emphasis. The text inside this tag is more
important than flat text. The text displayed using the <em> tag looks italic. The example
below shows how the <em> tag works:
then after calculation the result appearing in the report will be:
If a tag is not closed then the formatting is applied to from the opening tag to the end
of the text expression.
The <u> tag is used to define underlined text. The tag can be used in combination with
other tags to change the text style. For example, if you enter the following expression:
© 2003-2019 Stimulsoft
Report Internals 385
then after calculation the result appearing in the report will be:
If a tag is not closed then the formatting is applied to from the opening tag to the end
of the text expression.
The <s> tag is used to define strikethrough text, that is text with a horizontal line
through the center. The tag can be used in combination with other tags to change the
text style. For example, if you enter the following expression:
then after calculation the result appearing in the report will be:
If a tag is not closed then the formatting is applied to from the opening tag to the end
of the text expression.
The <sup> tag is used to define a superscripted text. Superscript text appears half a
character above the baseline. The tag can be used in combination with other tags to
change the text style. For example, if you enter the following expression:
then after calculation the result appearing in the report will be:
© 2003-2019 Stimulsoft
386 Stimulsoft Reports and Dashboards User Manual
If a tag is not closed then the formatting is applied to from the opening tag to the end
of the text expression.
The <sub> tag defines a subscripted text. A subscripted text appears half a character
below the baseline. The example below shows how the <sub> tag works:
The <strong> tag indicates strong emphasis. It has an end tag. A text within this tag is
more important than a flat text. It is usually rendered in bold font style. The example
below shows how the <strong> tag works:
© 2003-2019 Stimulsoft
Report Internals 387
The <p> tag defines a paragraph. It has an end tag. The example below shows how the
<p> tag works:
The <br> tag inserts a single line break. It has no end tag. The example below shows
how the <br> tag works:
How it
works.
The <ol> tag inserts an ordered list, which is a block level element consisting of a
sequence of numbered items, usually displayed with a number on the left margin.
<p>How it works!</p>
© 2003-2019 Stimulsoft
388 Stimulsoft Reports and Dashboards User Manual
<ol>
<li>How</li>
<li>it</li>
<li>works.</li>
</ol>
How it works!
1. How
2. it
3. works.
The <ul> tag inserts an unordered list, which is a block level element consisting of a
sequence of items, usually displayed with a bullet on the left margin.
<p>How it works!</p>
<ul>
<li>How</li>
<li>it</li>
<li>works.</li>
</ul>
How it works!
How
it
works.
© 2003-2019 Stimulsoft
Report Internals 389
However, if you place text between a pair of start and end background color tags, then
the specified background color will be applied to that text. For example, if you enter the
following expression:
then after calculation the result appearing in the report will be:
TestTestTest
The <text-align> tag specifies the horizontal alignment of an element with respect to
the surrounding context in the text component. The tag supports four modes of
alignment: left, right, center, and justify. For example, if you enter the following
expression:
Test<br>
<text-align="right">Test</text-align><br>
Test<br>
then after calculation the result appearing in the report will be:
© 2003-2019 Stimulsoft
390 Stimulsoft Reports and Dashboards User Manual
The <letter-spacing> tag is used to define the space between letters. The value of this
tag can be set in any units, and the value can be negative, so it is very important to
make sure that a text is readable after applying this tag. By default the value of this tag
is 0.
Test<br><letter-spacing="0.5">Test</letter-spacing>
then after calculation the result appearing in the report will be:
Using the <word-spacing> tag it is possible to define the space between each words.
If the <text-align> tag with the "justify" value is used, then the <word-spacing> tag
is ignored. This happens because the interval between words is already specified and a
line of a text is aligned by both left and right sides. The example below shows how the
<word-spacing> tag works:
The <line-height> tag sets the height of the text line. The tag is set as the multiplier
for the basic line height. By default the value if the <line-height> tag is 1. The example
below shows how this tag works:
© 2003-2019 Stimulsoft
Report Internals 391
Test<line-height="1.5"><br></line-height>Test<line-height="0.7"><br></line-
height>Test
Special Characters
Common Name ISO Latin-1 Numeric &-ASCII &-Name
Entity
Quotation mark " " "
Ampersand & & &
Non-breaking space  
Inverted exclamation ¡ ¡ &ixcl;
point
Cent ¢ ¢ ¢
Pound sterling £ £ £
General currency ¤ ¤ ¤
© 2003-2019 Stimulsoft
392 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 393
mark
© 2003-2019 Stimulsoft
394 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 395
Stimulsoft Reports allows users to include Rich Text formatted (RTF) text in reports,
without any limitations.
The RichText component is designed for working with rich text, and can automatically
change its size depending on the size of the RTF text within it. It can process
expressions, and supports a wide variety of styles, processing at the end of report
rendering, etc.
© 2003-2019 Stimulsoft
396 Stimulsoft Reports and Dashboards User Manual
Note: This component does not work in the product line Stimulsoft Reports.Fx.
The RichText component has a special editor. This editor can load and save the RTF text, change the
font, size, color, paste expressions etc. With this editor you can edit the RTF text without using third-
party editors. The editor is called by double-clicking on the RichText component. This editor contains
the following tabs:
Expression. Specify here some text. You can edit the text here using a set of special tools.
Data Column. Specify the data column that contains the Rich text.
File. Load a file that contains the Rich text.
Url. Specify the URL the source with the Rich text.
The picture below shows the Rich text editor with Expression tab open:
© 2003-2019 Stimulsoft
Report Internals 397
The Open button. Opens the dialog to load the saved *.rtf file.
The Save button. Opens the dialog to save the text as *.rtf.
The Insert button. Shows the data dictionary tree.
The Undo and Redo buttons.
The Font button Calls the window to setup the font.
Font face field. This field displays the current type of the font name. Also, this field contains a drop-
down list of values that provides the ability to change the font type without calling the font settings
dialog box.
Font size field. This field displays the font size value. Also, this field contains a drop-down list of
values that provides the ability to change the font size without callingthe font settings window.
Bold, Italic, Underline buttons.
The Superscript button. It provides the ability to place text on top with respect to the previous one.
For example, the exponents.
The Color button. Calls the menu to change the text color.
Alignment of text: Align Left, Align Center, Align Right, Justify.
The Bullets button. Enables bullets in text.
The RTF text is an expression in the RichText component. There are no significant
differences between working with expressions in the RichText component and other
text components.
© 2003-2019 Stimulsoft
398 Stimulsoft Reports and Dashboards User Manual
The syntax and use of expressions is similar to the syntax and use of expressions in text
components, but there is one particular issue to consider - any applied formatting must
be applied to the full code insertion and not j ust part of it.
Suppose that you want the calculated value in the RTF text to be a specific color. It is
vital that the color attribute is applied to the full expression from the opening brace "{"
to the closing brace "}" including those symbols. For example:
Formatting is fully applied to the expression. This expression will work correctly.
Formatting is applied to only part of the expression. This expression will not work.
Formatting is fully applied to the expression, but the braces are not included. This
expression will not work.
Formatting does not include the opening brace. This expression will not work.
You should know that in the expressions of the RichText component only plain text can
be inserted this way (without formatting commands). So it is not possible to insert the
RTF text. You can only assign all of its properties with help of the DataColumn.
The property Full Convert Expression provides the ability to handle expressions in
the RTF component in different ways. If this property is set to false, then the expression
will be processed quickly, simply and consistently. If this property is set to true, then
processing of expressions in the RTF component will be more thorough. This method
slows report rendering, but allows converting expressions more thoroughly. Especially
if the expression uses characters other than the numbers and Latin alphabet.
© 2003-2019 Stimulsoft
Report Internals 399
The RichText component can load the RTF text from the data field using the
DataColumn property. To load the RTF text simply select a field from the data
dictionary tree. When rendering the report generator will automatically load the RTF
text for you.
The DataColumn property. This property is used to indicate from which data field
the RTF text should be loaded. Click the button beside to select the relevant column.
Null node. Selecting this node means that the RTF text is not loaded from a data
field.
Selected field. The Data field from which the RTF text will be loaded.
© 2003-2019 Stimulsoft
400 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 401
© 2003-2019 Stimulsoft
402 Stimulsoft Reports and Dashboards User Manual
To print an image it is necessary to use the Image component. But an image should be
loaded first. There are three ways:
Load an image from a file;
Load an image from the report code;
Load an image from the data field.
Load an image from the URL.
© 2003-2019 Stimulsoft
Report Internals 403
Important: Do not use this way to output images with the size >100kb. This can be
critical for speed of working with the report designer.
© 2003-2019 Stimulsoft
404 Stimulsoft Reports and Dashboards User Manual
Often image size does not fit to the component size. In this case free space can be
found in a component. Sometimes an image size is bigger that the component size. In
such situations it is necessary to stretch images to fill the component with the image.
For this, it is necessary to put the Stretch property of the Image component to true.
After setting the Stretch property to true the image will fill all free space of the
component. When stretching, the image its proportions can be broken. To stretch an
image and keep its proportions it is necessary to set the AspectRatio property to true.
© 2003-2019 Stimulsoft
Report Internals 405
Important: The AspectRatio property is in process only when the image stretching
is enabled.
Sometimes you need to add some image to the report. It could be images of goods, personnel,
statistics, etc. Images can be added from different sources. To insert images, photos in a report in the
Report Designer, you should use the Image component. The Image component should be put in the
report where you want the image be placed (report page, data band, header band, footer band, etc.).
When you add this component in the report, the dialog will be called:
© 2003-2019 Stimulsoft
406 Stimulsoft Reports and Dashboards User Manual
As seen from the above picture, the images can be downloaded from various sources. Consider them
in more detail
Image
Click the Open button and select the required image. This is a procedure of loading the image from the
local source.
Data Column
An image can be placed in the data table, for example, as a separate data column. Select the data
column from which to extract the image.
Image Data
Load an image from the expression. In this case specify some expression for this.
Image URL
You can upload a picture from a URL. When rendering a report, the image will be retrieved from the
specified URL. Consequently, in this type of source, you must specify the URL of the image.
© 2003-2019 Stimulsoft
Report Internals 407
File
In addition to loading images directly, it can be retrieved from a file that is downloaded from a local
source. With this type of source, press the button and select the file.
3.9 Autosize
Can Grow
If the CanGrow property is set to true the component can automatically increase its
size if the information contained within it does not fit in the space available. If it is set to
false the information will be cropped to the component size, as in the examples below:
Note: The Can Grow property does not work in the product line Stimulsoft
Reports.Fx.
Can Shrink
If the CanShrink property is set to true the component can automatically reduce its size
so that it fits exactly to the size of the text or image being displayed. If it is set to false
the component remains the same size leaving unused space around the information it
contains, as in the examples below.
Using this property will help you to prevent wasted space on report pages
The report generator allows you to set both CanGrow and CanShrink properties. If
© 2003-2019 Stimulsoft
408 Stimulsoft Reports and Dashboards User Manual
you set both properties to true the component will automatically increase or decrease
in size whenever appropriate. The example below shows an image component that is
not large enough to support the height of the image but is too wide for the image
width. By setting the CanGrow and CanShrink properties to true the size of the
component changes automatically and exactly matches the size of the image.
The automatic resizing of text components behaves differently from other components.
The CanGrow and CanShrink properties affect only the height of a text component
and not the width. The example below shows an example of the CanGrow property
causing the text height to change:
The CanShrink property works in the opposite way, so if it is set to true and there is
more space than is needed for the text the report generator will automatically decrease
the height of the text component.
As with other components it is possible to set both properties to true. In this case, the
height will automatically increase or decrease depending on the size of a text.
WordWrap Property
© 2003-2019 Stimulsoft
Report Internals 409
The WordWrap property controls whether or not the text in the control automatically
wraps when it becomes too long to fit in a single line. If the WordWrap property is set
to false then the text is cropped at the border of the component, but when set to true
new lines are created until all the text is displayed on multiple lines.
When automatically resizing a text component with the WordWrap property set to
false the report generator will calculate the new size based on the height of a single line
only. If you want the report generator to increase the height of the component based
on all the text lines then the value of the WordWrap property should be set to true so
that the text automatically wraps and the calculation can be based on the combined
height of all the text lines.
AutoWidth Property
In addition to the CanGrow and CanShrink properties the AutoWidth property can
affect the way a text component changes size. If the AutoWidth property is set to true
then the text component will automatically change its width to match the width of the
text. The CanGrow, CanShrink, and AutoWidth properties can be used
simultaneously.
If the AutoWidth property is set to false, then the height of the text depends on
settings of the CanGrow and CanShrink properties. If the AutoWidth property is set
to true, then the width will be automatically changed.
Important: If the AutoWidth property is set to false then the height of the text
depends on the CanGrow and CanShrink properties. If the AutoWidth property is set
to false then it will change the width of the text.
Because Panels are only containers and output no visual information in the report it
may seem that the CanGrow and CanShrink properties have no relevance, but this is
not the case.
Panel components may contain other components which have specified sizes and
positions. If some of the component positions mean that their boundaries cross the
© 2003-2019 Stimulsoft
410 Stimulsoft Reports and Dashboards User Manual
border of the panel then setting the CanGrow property to true will cause the panel
container to be automatically resized so that the child components are wholly enclosed
within it. The picture below shows how the CanGrow property works:
If the CanShrink property is set to true and the bounds of the combination of all the
components contained within it are less than the bounds of the panels the panel size
will automatically reduce to match the overall size of all components.
Because bands are inherited from Panels, they change their size in the same way. The
size of the Band can be automatically changed depending on the size of components
positioned on the band.
CanGrow Property
It should be noted that most types of band can only automatically change their height -
© 2003-2019 Stimulsoft
Report Internals 411
the exception is cross-bands which change their width. For example, if there is a
component on the band which crosses the lower boundary and you set the CanGrow
property of the band to true, the band height will be automatically increased until the
entire component is contained within the band:
CanShrink Property
Similarly if there is free space between the boundary of a band and the lower border of
the tallest component that it contains and you set the CanShrink property to true, the
height of the band will automatically be reduced until it matches the lowest point of the
lowest contained component:
© 2003-2019 Stimulsoft
412 Stimulsoft Reports and Dashboards User Manual
Typically there will be more than one component on a band, as in the example shown
below:
When rendering a report the height of some of the components may be changed
automatically to suit the size of their contents which can result in unwanted breaks in
the layout as shown below:
In order to prevent this occurring you can bind the bottom border of a component to
the lower border of the container in which the component is placed. This binding is
done using the GrowToHeight property.
GrowToHeight Property
If you set the GrowToHeight property to true all components that do not change their
© 2003-2019 Stimulsoft
Report Internals 413
size will have their bottom borders bound to the bottom border of the container.
Note: The GrowToHeight property binds the bottom border of the component to
that of its container whether that container is a Band or a Panel component.
This will give a consistent and much better looking result as shown below:
Note: The GrowToHeight property can be set for components which automatically
change their size as well as those that do not. In this case, if the bottom border is not
matched to the bottom border of its container the size of this component will be
automatically adj usted to suit.
© 2003-2019 Stimulsoft
414 Stimulsoft Reports and Dashboards User Manual
Automatically changing the size of components can lead to a problem when rendering
reports - what happens when a change in the size of one component has an adverse
effect on another component in the report? For example, if the height of the first
component is increased it could overlap a component placed below it.
ShiftMode Property
The ShiftMode property allows all components with top borders situated below the
top border of an automatically modified component to be automatically shifted down
the report so that they maintain the same relative position.
The property has three flag values each of which can be set to True or False:
IncreasingSize
DecreasingSize
OnlyInWidthOfComponent.
IncreasingSize
If this flag is set to true then any increase in the height of the components located
above the specified component causes the component to shift down vertically by the
same amount. If the flag is set to false then any increase in the height of the higher
components is simply ignored, as shown in the example below:
DecreasingSize
© 2003-2019 Stimulsoft
Report Internals 415
If this flag is set to true then any decrease the height of the components located above
the specified component causes the component to shift up vertically by the same
amount. If the flag is set to false then any decrease in the height of the higher
components is simply ignored, as shown in the example below:
OnlyInWidthOfComponent
If the flag is set to true, it takes into account changes only to those components that
have their left boundary less than the left border of the specified component, and the
right border more than the left border of this component as in the examples below:
Or:
If this flag is disabled, the location of the left border of this component is ignored. For
example:
© 2003-2019 Stimulsoft
416 Stimulsoft Reports and Dashboards User Manual
3.10 Barcodes
1D Barcodes
Most commonly barcodes represent their data in the widths and spacings of printed
parallel lines which is why they are called linear or 1D (one-dimensional) barcodes or
symbolics. Linear barcodes are read in one direction (horizontally). The following linear
barcodes are commonly used:
EAN;
UPC;
Code39;
Code128;
Codabar;
Interleaved 2 of 5.
2D Barcodes
2D (two-dimensional) barcodes or symbolics are used for coding large amounts of
information in a bar code, potentially up to several pages worth. Such a barcode would
consist of square cells, dots, hexagons, and other geometrical figures. Special 2D
barcode scanners are required to read the barcodes which decode in two dimensions
(horizontal and vertical). The following 2D barcodes are the most common:
PDF417;
© 2003-2019 Stimulsoft
Report Internals 417
Datamatrix.
1234567890123
{Items.Code}
Important: When using the expression in the Code property in the design mode the
expression will be displayed. When viewing the report, it will be replaced by the value.
© 2003-2019 Stimulsoft
418 Stimulsoft Reports and Dashboards User Manual
code is either not allowed or has some limitations. For this reason the size of a barcode
is set using special properties. All these properties can be found in the Properties panel
of the barcode. For example, on the picture below the Properties panel of the EAN-128a
barcode is shown. This particular barcode allows the user to set the BarcodeHeight and
BarCodeModules.
When you add the Barcode component in the report template the bar code editor is
called.
Information: If, in the designer settings, the Edit After Insert option is disabled
(unchecked), then, to call the editor, you need to double-click the component.
The Bar Code tab. Select the bar code you need to use in the report. For example, QR
Code:
© 2003-2019 Stimulsoft
Report Internals 419
The Settings tab. Setup the barcode. The tabs has three panels: barcode parameters,
preview, barcode properties.
Notice: In the web report designer, editing the barcode goes using the parameters
and properties that are located on the properties panel. They are completely identical
to those described below. In the web report designer you should select a component,
go to the properties panel and set the component settings. When you double-click the
component you will call a menu in which you need to specify values for the barcode
(custom value, data column, variable, etc.).
© 2003-2019 Stimulsoft
420 Stimulsoft Reports and Dashboards User Manual
The Code field. Specifies a value that a bar code will have. For example, you can
specify a custom value. For QR Code it may be some text and numeric value. Also in
this field, you can specify an expression. Then, the result of this expression will be the
value of the barcode.
The Angle parameter. It provides an opportunity to rotate the graphical barcode
information on 90, 180, and 270 degrees.
The Auto Scale parameter. It provides the ability to determine the optimal scale of
the bar code, taking into account the volume of information. It should be borne in mind
that the larger is the amount of information in a bar code, the more graphical elements
© 2003-2019 Stimulsoft
Report Internals 421
is in it. So, if the bar code contains large volume of data and, at the same time, you
minimize the component size, the barcode reader could read it incorrectly. Therefore,
the size of the component in the report should always be defined taking into account
the amount of information that the barcode contains.
The Fore Color parameter. Specifies the color of the graphical elements in the
barcode
The Back Color parameter. Specifies the color of a font in the barcode.
The Font parameter. Specifies a type and style of the font for the barcode.
The Show Label Text parameter. Allows showing/hiding the label text of the
barcode. This is applicable not for all barcodes but only for those who have a label. The
label shows a value of the barcode. For example, the picture below shows two Code128
barcodes. One with a title, the other without it.
The Quiet zone parameter. It provides the ability to display or hide a quiet zone of a
barcode. The Quiet zone is an empty space on the left and right side of the barcode. It is
a conditional border of the beginning and end of the barcode for barcode readers. One
example of the use of the Quiet zone is the case when there are several barcodes. If the
Quiet zone is disabled then the barcodes can be read wrongly. Below is an example of
two barcodes with enabled and disabled Quiet zones.
© 2003-2019 Stimulsoft
422 Stimulsoft Reports and Dashboards User Manual
Barcode sizes are very important if they are to read successfully by scanners. Each type
of barcode is defined using the following size parameters:
Density
A mil is used to specify the barcode density.
Module
Module parameter ("Module", sometimes referred to as the "X dimension") indicates
the narrowest bar of a barcode. This parameter is connected with the printing
resolution of a barcode and the barcode density. For example, if the narrowest bar is 10
mils it is said that the barcode is printed with 10 mil resolution or that the density of the
barcode is 10 mil.
Density
There are two elements of density - the graphics density and information density of a
barcode.
Information Density
The information density is the number of characters that can be encoded per inch given
a certain X value. The smaller the value of X, the more characters can be encoded in an
inch and, thus, the density rises. The information density of a barcode depends on the
character encoding. The less the number of bars and spaces required to encode one
symbol the higher the information density of the barcode.
Graphics Density
The graphics density of the barcode is connected with the barcode size. The
classification of graphic linear barcodes is shown in the table below:
-
Graphics density Printing resolution
Very high density < 4 mils
High density 4 mils .. 6 mils
© 2003-2019 Stimulsoft
Report Internals 423
Width
The barcode width depends on the graphic and information density. The density is
limited by the resolution of the printer and scanner, but the barcode width depends on
the information density of the symbolic. Different symbolics may have different
barcode widths even if their graphic density is the same.
Height
The height of the barcode is needed only to allow scanners to easily read it. Usually the
best barcode length is based on the ratio of height to width of around 1:5-6.
Spaces
This is a very important attribute, especially for linear barcodes. Spacing is the light
regions at the start and the end of the barcode. They are required for the scanner to
identify the barcode measurements.
There are a great many linear barcode specifications available, including many that are
based on the EAN/UPC specification.
EAN/UPC barcodes are based on the EAN.UCC system which was created in the USA in
1973 by the Uniform Product Code Council company, now known as Uniform Code
Council, Inc. (UCC).
UPC
Initially, UCC developed a 12-digit ID and the UPC (Uniform Product Code) barcode.
The first UPC code was scanned in 1974.
EAN
After successful implementation of the UPC system in 1977 the European Article
Numbering Association format was created as a superset of the UCC system and uses
© 2003-2019 Stimulsoft
424 Stimulsoft Reports and Dashboards User Manual
13-digit identification numbers but the same data structures as UPC barcodes.
Today global compatibility is reached by using the 14-digit GTIN format. This provides
unique identification of goods all over the world.
In this section details of the UPC-A, UPC-E, EAN-8, EAN-13, EAN-128, ITF-14
barcodes of "General EAN.UCC Specifications" and based on those the JAN-8, JAN-13,
ISBN-10, ISBN-13 barcodes are displayed.
The EAN.UCC system appeared in the USA and was created in 1973 by the Uniform
Product Code Council company. Now this company is known as Uniform Code Council,
Inc. (UCC). Initially, the UCC was developed 12-digit ID and appropriate the UPC
barcode (Uniform Product Code). The first UPC code was scanned in 1974. After
successful implementation of the UPC system in 1977 the European Article Numbering
Association was created. The EAN system was created as superset of the UCC system
and uses the 13-digit identification numbers but the same structures of data as
barcodes. So the EAN.UCC system was extended. Today the complete global
compatibility is reached by using the 14-digit GTIN format. This provides unique goods
ID all over the world.
In this section UPC-A, UPC-E, EAN-8, EAN-13, EAN-128, ITF-14 barcodes of "General
EAN.UCC Specifications" and based on them JAN-8, JAN-13, ISBN-10, ISBN-13
barcodes are viewed.
3.10.3.1.2 UPC-A
UPC-A was the first barcode, created by Uniform Code Council, Inc. in 1973. The UPC-
A barcode is an unbroken code with a fixed length and high density. It is used for
tracking trade items in stores, and otherwise marking goods.
© 2003-2019 Stimulsoft
Report Internals 425
UPC-A barcodes consist of 11 data digits and one check digit. The first digit is a
number system digit that normally represents the type of product being identified. The
following 5 digits are a manufacturers code and the next 5 digits are used to identify a
specific product.
The barcode does not contain any information about characteristics of a product, but
only a unique number relating to an entry in the International data base where all
information about the particular product is stored. An example barcode in UPC-A
format:
UPC-A Barcode
Note the 'human readable' digits at the foot which can be used by operators if the label
becomes damaged or will not scan for some reason - "123456789012" is the number
encoded in the barcode.
3.10.3.1.3 UPC-E
A UPC-E is a smaller seven digit UPC symbology for number system 0. For UPC-E
barcodes, normally 6 digits are specified and the barcode calculates the seventh check
digit.
© 2003-2019 Stimulsoft
426 Stimulsoft Reports and Dashboards User Manual
Before the Middle guard bars, a binary 1 is indicated by a bar, while a 0 is indicated by a
space. After the Middle guard bars, however, the patterns are optically inverted. In other
words, a 1 is now indicated by a space, and a 0 is now indicated by a bar. It has the
same basic structure as the UPC-A barcode.
A "UPC-E" barcode.
Note the 'human readable' digits at the foot which can be used by operators if the label
becomes damaged or will not scan for some reason - "1234567" is the number
encoded in the barcode.
3.10.3.1.4 EAN-13
The EAN-13 barcode was created based on the UPC-A barcode as an extension of the
EAN.UCC system used outside the USA. EAN-13 is the European version of UPC-A.
The structure of EAN-13 barcode is the same as UPC-A. Each barcode character consist
of 2 bars and 2 spaces, which may have a width from 1 to 4 modules. The first digit is
always placed outside the symbol, additionally the right quiet zone indicator (>) is used
to indicate the Quiet Zones that are necessary for barcode scanners to work properly.
© 2003-2019 Stimulsoft
Report Internals 427
The barcode does not contain any information about characteristics of a product, but
only a unique number relating to an entry in the International data base where all
information about the particular product is stored. An example barcode in EAN-13
format:
An "EAN-13" barcode.
Note the 'human readable' digits at the foot which can be used by operators if the label
becomes damaged or will not scan for some reason - "123456789012" is the number
encoded in the barcode.
3.10.3.1.5 EAN-8
The EAN-8 barcode was developed for use on small packages. It is used instead of the
EAN-13 barcode where an EAN-13 barcode would be too large, for example on packets
of gum.
The structure of the EAN-8 barcode is in the same as the structure of the EAN-13
barcode. The check digit is calculated automatically irrespective of input data.
© 2003-2019 Stimulsoft
428 Stimulsoft Reports and Dashboards User Manual
This barcode does not contain the code of the producer and has only 4 digits. As a
result there can only be 10000 specimen products per organization, so the EAN-8
barcode is provided only to those organizations which really need it.
An "EAN-8" barcode.
Note the 'human readable' digits at the foot which can be used by operators if the label
becomes damaged or will not scan for some reason - "12345670" is the number
encoded in the barcode.
Add-on Symbols (barcodes) can be used in some applications together with the EAN-
13, UPC-A, and UPC-E barcodes. Add-on Symbols may contain 2 or 5 additional digits
and are usually placed to the right of the barcode.
Check digit: no
© 2003-2019 Stimulsoft
Report Internals 429
3.10.3.1.7 EAN-128
The EAN-128 barcode is a subset of the Code128 barcode which uses a variable length,
high density, alphanumeric symbology. It allows the output of 128 characters of ASCII
and is effective for digits. There are actually four sub-codes, which can be mixed within
a single barcode: EAN-128a, EAN-128b, EAN-128c, and EAN-128auto (will
automatically switch between code sets to encode the ASCII values).
The structure of the EAN-128 barcode is the same as for the Code128 barcode.
Elements of the barcode consist of three bars and three spaces. Bars and spaces have
module construction and their width consists of either one or four modules. The width
of an element consists of eleven modules.
To difference between the EAN-128 barcode and the Code128 barcode is that the
FNC1 is placed after the start character. This character is reserved for the EAN.UCC
system.
© 2003-2019 Stimulsoft
430 Stimulsoft Reports and Dashboards User Manual
An "EAN-128c" barcode.
Note the 'human readable' digits at the foot which can be used by operators if the label
becomes damaged or will not scan for some reason - "0123456789012345" is the
number encoded in the barcode.
3.10.3.1.8 ITF-14
The ITF-14 barcode was developed to encode a Global Trade Item Number. The ITF
barcode has the nominal size of (152*44mm) and low requirements to the printing
surface. Therefore, it can be printed not only on a label but directly onto a packing
carton.
Each character is encoded using two broad and three narrow bars/spaces. The ITF-14
will always encode 14 digits.
© 2003-2019 Stimulsoft
Report Internals 431
An "ITF-14" barcode.
Note the 'human readable' digits at the foot which can be used by operators if the label
becomes damaged or will not scan for some reason - "15400141288763" is the
number encoded in the barcode.
3.10.3.1.9 JAN-13
A JAN-13 barcode is another name for an EAN-13 barcode dedicated for use only in
Japan. The first two digits should be 45 or 49 which indicate Japan.
A "JAN-13" barcode.
Note the 'human readable' digits at the foot which can be used by operators if the label
becomes damaged or will not scan for some reason - "4901234567894" is the number
encoded in the barcode.
3.10.3.1.10 JAN-8
A JAN-8 barcode is another name for an EAN-8 barcode dedicated for use only in
Japan. The first two digits of the barcode should be 45 or 49 to indicate Japan.
A "JAN-8" barcode.
Note the 'human readable' digits at the foot which can be used by operators if the label
© 2003-2019 Stimulsoft
432 Stimulsoft Reports and Dashboards User Manual
becomes damaged or will not scan for some reason - "49123456" is a number encoded
in the barcode.
3.10.3.1.11 ISBN-10
The ISBN, assigned to books of 2006 contained 10 digits length and consist of four
fields of variable length:
For a 13 digit ISBN, a GS1 prefix: 978 or 979.
The group identifier, (language-sharing country group).
The publisher code.
The item number.
A checksum character or check digit.
An "ISBN-10" barcode.
Note the 'human readable' digits at the foot which can be used by operators if the label
becomes damaged or will not scan for some reason - "80-902734-1-6" is the number
encoded in the barcode.
© 2003-2019 Stimulsoft
Report Internals 433
3.10.3.1.12 ISBN-13
The ISBN assigned to books after 2006 contained 13 digits length and consist of four
fields of variable length:
prefix: 978 or 979.
The group identifier, (language-sharing country group).
The publisher code.
The item number.
A checksum character or check digit.
A "ISBN-13" barcode.
Note the 'human readable' digits at the foot which can be used by operators if the label
becomes damaged or will not scan for some reason - "978-0-306-40615-7" is a
number encoded in the barcode.
3.10.3.2.1 Pharmacode
© 2003-2019 Stimulsoft
434 Stimulsoft Reports and Dashboards User Manual
Valid
A whole number from 3 to 131070
symbols:
Length: Variable, 1..6 characters of a digit
Check digit: No
A Pharmacode barcode can represent only a single integer from 3 to 131070. All
digits in the specified range make correct barcodes, but some of these barcodes can be
unreadable because all barcodes are identical. So, the following digits should not be
used:
3, 6, 7, 14, 15, 30, 31, 62, 63, 126, 127, 254, 255, 510, 511, 1022, 1023, 2046, 2047,
4094, 4095, 8190, 8191, 16382, 16383, 32766, 32767, 65534, 65535, and 131070.
3.10.3.2.2 Plessey
A Plessey barcode was created by Plessey company in England on March 1971. The
Plessey barcode is widely used in libraries, supermarkets, and production
environments. A variant of the barcode known as Anker Code and appropriate scanners
were provided by the ADS company.
Encoding technology of the Plessey barcode was used by MSE Data Corporation. This
company used it to create an MSI barcode that sometimes is called 'modified Plessey'.
This barcode is now obsolete and new scanners cannot read it.
© 2003-2019 Stimulsoft
Report Internals 435
Plessey is a variable length, numeric-only symbology. It allows to output digits 0..9 and
letters A, B, C, D, E, F but more frequently only digits are used. Check digits calculated
using the modulo-10 or modulo-11 algorithm can be used. Each character of the
barcode consist of 4 elements. An element consists of a bar and a space and has 3
modules width. If the element is the binary 0 then the barcode has 1 module width and
a space has 2 modules. If the element is the binary 1 the bar has 2 module width and a
space has 1 module. So, each character has 12 modules length. Therefore, this barcode
has very low data density.
3.10.3.2.3 Msi
The Msi barcode developed by the MSI Data Corporation. It is based on the original
Plessey symbology. Sometimes the Msi barcode is called the Modified Plessey. The
basic implementation of the Msi barcode is used for warehouse shelves and inventory.
Length: Variable
none, one or two;
Check digit:
algorithm modulo-10 or modulo-11
Msi is a variable length, numeric-only symbology and allows to output digits 0..9. One
or two check digits calculated by modulo-10 or modulo-11 can be used. Each
character of the barcode consist of 4 elements. If the element is the binary 0 then the
barcode has the 1 module width and a space has 2 modules. If the element is the binary
1 the bar the 2 module width and a space has 1 modules. So, each character has 12
modules length. Therefore, this barcode has very low data density.
© 2003-2019 Stimulsoft
436 Stimulsoft Reports and Dashboards User Manual
3.10.3.2.4 2of5
The 2of5 barcode was developed 40 years ago. This is a low density variable length
numeric. This barcode is used in manufacture and is known as Code 25, Code 25
Standard or Code 25 Industrial. It is very seldom used these days.
The 2of5 Interleaved barcode is a high density variable length numeric only
symbology that encodes digit pairs in an interleaved manner. This barcode is developed
of the Code 25 Standard. It is usually used in the industrial.
© 2003-2019 Stimulsoft
Report Internals 437
3.10.3.2.5 FIM
Facing Identification Mark (FIM) is the type of postal bar code used in automated mail
processing by the U.S. Postal Service. FIM is a set of vertical bars. FIM patterns are
placed in the upper right corner along the top edge and two inches in from the right
edge of letters and cards.
The FIM barcode consists of nine elements. Each element can be 1 (vertical bar) or 0
(space). Four barcodes are used:
© 2003-2019 Stimulsoft
438 Stimulsoft Reports and Dashboards User Manual
FIM A: 110010011
FIM B: 101101101
FIM C: 110101011
FIM D: 111010111
3.10.3.2.6 Codabar
The Codabar is a linear barcode symbology developed in 1972. It can be called as NW-
7, USD-4, Code 2 of 7 (2 values of a bar length, 7 elements). It is frequently used in
medicine (for example, blood bank forms).
0123456789 - $ : / . +
Valid symbols: ABCD (only as start/stop
symbols)
Length: Variable
Check digit: no
Two bars and three spaces are used for encoding. The barcode has four different sets of
start/stop characters: A, B, C, D. These characters are used only as start/stop characters
and should not be appeared in the barcode.
© 2003-2019 Stimulsoft
Report Internals 439
3.10.3.2.7 Postnet
The POSTNET (POSTal Numeric Encoding Technique) barcode was developed by the
United States Postal Service for encoding ZIP-codes and correct sorting using BCSs. It
can encode ZIP, ZIP+4, and ZIP+4+2 postal codes.
The Postnet barcode can encode 0-9 digits. The barcode consist of short and long bars.
Each symbol of data is encoded using five bars. This barcode contains only one check
symbol, that is calculated by the modulo-10 algorithm.
The Australia Post 4-Stage barcode is used in Australia for the purposes of sorting
and directing mail.
The barcode consists of 4 elements (4 conditions), each has its own name, value. Each
element consists of two bars and two spaces. Each barcode contains 4 check symbols,
calculated by the ReedSolomon algorithm. The value of these symbols are usually
printed after the text of the barcode.
© 2003-2019 Stimulsoft
440 Stimulsoft Reports and Dashboards User Manual
Notes:
This symbology is used by Royal Dutch TPG Post (Netherlands) for Postal code and
automatic mail sorting. It provides information about the address of the receiver. This
symbology encodes alpha-numeric characters (0-9, A-Z). The barcode is also known as
Royal TNT Post Kix, Dutch KIX 4-State Barcode, Kix Barcode, TPG KIX, Klantenindex
Barcode, TPGPOST KIX.
0123456789
Valid symbols:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Length: Variable
Check digit: none
The barcode consists of four types of bars. The Barcode structure is shown in the
picture below:
© 2003-2019 Stimulsoft
Report Internals 441
Full bar;
Ascender;
Tracker;
Descender;
Ascending Region;
Tracking Region;
Descending Region.
The Royal Mail 4-state is a barcode symbology for use in automated mail sort
process. There are 38 valid characters in the entire character set:
A barcode consists of four bars, of which two are ascenders and two descenders. The
tracking region is present in all bars.
© 2003-2019 Stimulsoft
442 Stimulsoft Reports and Dashboards User Manual
Ascending Region;
Tracking Region;
Descending Region.
3.10.3.2.11 Code11
This barcode has high density and can encode any length string consisting of the digits
0-9 and the dash character. The Code 11 uses one or two check digits and two check
symbols. Usually, if the length of the string is less than 10 symbols then only one check
symbol is used. If the length of the string is 10 symbols and more then 2 check symbols
are used. The value of the check symbol is calculated by the modulo-10 algorithm.
© 2003-2019 Stimulsoft
Report Internals 443
3.10.3.2.12 Code39
Code 39 is a variable length symbology that can encode 44 characters. Code 39 is the
most popular symbology in the non-retail world and is used extensively in
manufacturing, military, and medicine applications.
0123456789
Valid symbols: ABCDEFGHIJKLMNOPQRSTUVWXYZ
-.$/+% space
Length: Variable
No, according to the specification;
Check digit:
In practice - one, modulo-43 algorithm
Each Code 39 bar code has a start/stop character represented by an asterisk (*).The
barcode code does not contain the check character but can be added programmatically.
Each character starts with a 'dark bar' that consists of 5 dark and 4 blank bars. The ratio
between narrow and wide bars may range from 2.2:1 to 3:1.
The Code 39 barcode has low data density. It requires more free space than Code 128,
but the Code 39 barcode can be identified by any barcode scanner.
Code 39 extended is the version of the Code 39 barcode which also supports the
ASCII set of characters. The 0-9, A-Z, "." and "-" characters are encoded the same as of
© 2003-2019 Stimulsoft
444 Stimulsoft Reports and Dashboards User Manual
Note: Barcode scanners cannot differentiate between the Code 39 and Code 39
extended barcodes. It is necessary to select the correct barcode either by setting a
property on the scanner or programmatically.
3.10.3.2.13 Code93
The Code 93 is a variable length symbology that can encode the complete 128 ASCII
character set. This barcode was developed as an enhanced version of the Code 39
barcode. It has a higher density than either the Code 39 or the Code 128 barcode.
0123456789
Valid symbols: ABCDEFGHIJKLMNOPQRSTUVWXYZ
-.$/+% space
Length: Variable
Check digit: Two, algorithm modulo-47
The Code 93 barcode may encode Latin letters (from A to Z), digits (from 0 to 9) and a
group of special characters. The barcode always contains two check characters. Each
characters consist of nine modules which are j oined in 3 groups. Each group has one
black bar and one white bar.
© 2003-2019 Stimulsoft
Report Internals 445
Code 93 extended is a version of the Code 93 barcode that supports a set of ASCII
characters. All additional symbols are encoded as a sequence of two Code 93
characters. The first character is always one of four special characters. Therefore,
scanners can always identify the different versions of the barcode.
3.10.3.2.14 Code128
The Code128 barcode was developed in 1981. It is a variable length, high density,
alphanumeric symbology. It allows the output of 128 characters of ASCII and is
effective for digits. There are actually four sub-codes, which can be mixed within a
single barcode: Code128a, Code128b, Code128c, and Code128auto (will
automatically switch between code sets to encode the ASCII values).
The barcode consist of three bars and three spaces. Bars and spaces have module
construction and their width consist of one or four modules. The width of an element
consist of eleven modules. The "Stop" sign consist of 13 modules and has four bars and
three spaces. The check sum is calculated automatically.
© 2003-2019 Stimulsoft
446 Stimulsoft Reports and Dashboards User Manual
The table below shows the list of linear barcodes supported by Stimulsoft Reports.
-
Chec Checksu
Lengt k m other
Type 0-9 A-Z a-z
h symb algorith symbols
ols m
modulo-
UPC-A 12 1 +
10
modulo-
UPC-E 8 1 +
10
modulo-
EAN-13 13 1 +
10
modulo-
EAN-8 8 1 +
10
modulo- ASCII 0
EAN-128a var 1 + +
103 to 95
modulo- ASCII 32 to
EAN-128b var 1 + + +
103 127
modulo-
EAN-128c var 1 +
103
modulo-
ITF-14 14 1 +
10
modulo-
JAN-13 13 1 +
10
modulo-
JAN-8 8 1 +
10
modulo-
ISBN-10 10 1 +
10
© 2003-2019 Stimulsoft
Report Internals 447
modulo-
ISBN-13 13 1 +
10
int
Pharmaco
1..6 - - 3..13107
de
0
modulo- A BC D
Plessey var 0-2 +
10/11 EF
modulo-
Msi var 0-2 +
10/11
2of5
var - - +
Standard
2of5
var - - +
Interleaved
FIM 1 - - A BC D
Codabar var - - + -$:/ .+
5, 9, modulo-
Postnet 1 +
11 10
Australia 10[+v ReedSolo
4 +
Post ar] mon
modulo-
Code 11 var 0-2, A + -
11
modulo- -. $ / +
Code 39 var 0-1 + +
43 % space
Code 39 modulo-
var 0-1 + + + full ASCII
ext 43
modulo- -.$/+%
Code 93 var 2 + +
47 space
Code 93 modulo-
var 2 + + + full ASCII
ext 47
modulo- ASCII 0
Code128a var 1 + +
103 to 95
© 2003-2019 Stimulsoft
448 Stimulsoft Reports and Dashboards User Manual
103 127
modulo-
Code128c var 1 +
103
Explanation:
"Length" - is the data length, it is the number of characters, which can the
barcode can encode; "var" means the variable length.
"Check symbols" - possible number of check digits; "A" means that number of
check digits can be chosen automatically.
"Checksum algorithm" - the algorithm for calculating check digits.
"0-9", "A-Z", "a-z" - ranges of symbols; + means that the barcode can encode
characters of this range.
"other symbols" - other symbols which the barcode can encode.
Barcode Sizes
Below is a comparison of barcodes of variable length, which can encode the numbers 0
to 9. All barcodes have the same input data - the row has "ABCDEFGHIJK", and the same
module 20, other parameters set by default.
© 2003-2019 Stimulsoft
Report Internals 449
English letters. All barcodes have the same input data - the row has "ABCDEFGHIJK",
and the same module 20, other parameters set by default.
3.10.4 2D Barcodes
3.10.4.1 PDF417
The PDF417 barcode was developed by Symbol Technologies in 1991. The name of the
barcode consist of 2 parts. The PDF comes from Portable Data File. The 417 comes from
the structure of the barcode: each barcode character consists of 17 modules, each of
which consists of 4 bars and 1 space.
© 2003-2019 Stimulsoft
450 Stimulsoft Reports and Dashboards User Manual
PDF417 is a high density 2 dimensional bar code symbology that consists of a stacked
set of smaller bar codes. Any ASCII characters can be encoded in this barcode. The
length of data depends on the encoding mode and can reach 1100 bytes, or 1800 text
characters, or 2600 digits.
The barcode contains from 3 to 90 rows each of which is like a small linear bar code.
Each row has:
A quiet zone.
A start pattern which identifies the type of symbol as PDF417.
A "row left" codeword containing information about the row.
A "row right" codeword with more information about the row.
A stop pattern.
A quiet zone.
The barcode may have any number of rows and columns (patterns in the data row),
although the total number of patterns should not be greater then 928. The number of
rows and columns can be set using the DataRows and DataColumns properties. If the
AutoDataRows and AutoDataColumns properties are set to false, then the barcode size
will be fixed. If one of these properties is set to true, then the barcode size can increased
and decreased in this direction depending on data. If both of these properties are set to
true, then the size of the barcode is set automatically, considering the "AspectRatio"
parameters (the ratio of the barcode width to the barcode height) and RatioY (the
height of the code word in modules, from 2 to 5).
It is possible to select one of three modes of data encoding depending on the type of
encoded information. Each mode allows encoding has its own set of characters and its
own rate of compression.
The barcode contains levels of error corrections: even if the barcode is damaged, it will
be read. There are 9 levels of error corrections shown in the table below:.
© 2003-2019 Stimulsoft
Report Internals 451
0 2
1 4
2 8
3 16
4 32
5 64
6 128
7 256
8 512
To set the level of correction the ErrorsCorrectionLevel property can be used. This
property can be set to "Auto", in which case the level will be set automatically.
A "PDF417" barcode.
3.10.4.2 Datamatrix
The DataMatrix barcode was created by the CiMatrix company. Every DataMatrix is
composed of two solid adj acent borders in an "L" shape (called the "finder pattern") and
two other borders consisting of alternating dark and light "cells" or modules (called the
"timing pattern"). Symbol sizes vary from 8×8 to 144×144. The DataMatrix is used to
mark small products.
© 2003-2019 Stimulsoft
452 Stimulsoft Reports and Dashboards User Manual
~FNC1{your_datasource.field_name}.
Data Matrix symbols are rectangular in shape and usually square, they are made of
cells: little elements that represent individual bits.
The barcode contains error correction codes so the barcode can be read even if it is
partially damaged. There are two main versions of this barcode: the first version is
called ECC-000 or ECC-140. The second version is described as ECC-200 version, and
uses the Reed-Solomon method for error correction. In Stimulsoft Reports the second
version of this barcode is used.
The barcode consist of black and white square elements, which are j oined into square
or rectangular regions. Symbol sizes vary from 8×8 to 144×144. All available
combinations of sizes is shown on the table below:
18 × 18 18 72 × 72 368
20 × 20 22 80 × 80 456
12 × 36 22 88 × 88 576
22 × 22 30 96 × 96 696
16 × 36 32 104 × 104 816
24 × 24 36 120 × 120 1050
26 × 26 44 132 × 132 1304
16 × 48 49 144 × 144 1558
© 2003-2019 Stimulsoft
Report Internals 453
The barcode size can be set using the MatrixSize property. If this property is used to
specify the specific size of the barcode, then the barcode will be of that fixed size. If this
property is set to Automatic (the default), then the minimal size that is necessary to
encode the data will be selected from the list. There are 6 types of the barcode. If it is
required to get a square barcode in the Automatic mode, then the
UseRectangularSymbols property should be set to false (the default). If the property
is set to true, then square and rectangular forms are used.
There are several modes of data encoding. Which is used depends on the type of the
encoded information. Each mode allows encoding their own set of characters and their
own rate of compression.
-
Encoding mode Valid symbols Bits per symbol
ASCII character 0 to 127 8
ASCII ASCII character 128 to 255 16
ASCII numeric 4
Upper-case alphanumeric 5,33
C40
Lower-case letters and punctuation 10,66
Lower-case alphanumeric 5,33
TEXT
Upper-case letters and punctuation 10,66
X12 ANSI X12 5,33
EDIFACT ASCII character 32 to 94 6
The ASCII is the universal mode of data encoding (the default). It allows encoding any
characters, but pairs of digits are compressed the best and the ASCII values (128-255)
are compressed the worst.
A "DataMatrix" barcode.
© 2003-2019 Stimulsoft
454 Stimulsoft Reports and Dashboards User Manual
3.10.4.3 QR Code
L 7%
M 15%
Q 25%
H 30%
The higher the level of correction is, the bigger percentage of information of the
corrupted barcode can be recovered, but fewer information can be encoded in the
barcode of the same size.
© 2003-2019 Stimulsoft
Report Internals 455
3.11 Report
The report is a way of representing the data in printed form and in a user-defined form.
Any report before rendering is a report template. The report template is an item of the
report writer built under the rules of building a report in the designer. Elements are
obj ects in the designer. Parameters are settings in the report designer. The picture
below shows a diagram of the construction of the report.
© 2003-2019 Stimulsoft
456 Stimulsoft Reports and Dashboards User Manual
When you create a report in the designer, a report template as a page or j ust as a form
is created. No other elements can be placed directly on the template. All other report
template elements are arranged on the page or form. The picture below shows the
hierarchy of the report:
© 2003-2019 Stimulsoft
Report Internals 457
All elements of the template are divided into two categories - components and
containers. The fundamental difference between the component and the container is
that the container can be embedded in the container or another container and it is
impossible to embed anything into the component. For example, the Text is a
component. The Text component is located on a page or on another container. But it is
not possible to place any container or a component in the Text component. The Form,
for example, can be a container. You can place a component or container on the Form.
Unlike most other reporting tools, Stimulsoft Reports report template is divided into
pages. Each page can have their sizes and printing field. All components placed are on
the report pages. When rendering, Stimulsoft Reports sequentially processes all the
pages of the report.
Such a structure of the report gives more flexibility in the construction of the report.
You can turn off some of the pages, or vice versa, include. You can change the order of
inclusion of pages in the report. You can organize the relationship between pages.
When using the Sub-Report component, it is not necessary to rely on external reports,
because Sub-Report in Stimulsoft Reports is also one of the pages of a report.
© 2003-2019 Stimulsoft
458 Stimulsoft Reports and Dashboards User Manual
3.12 Pages
A page is any of the two sides of paper. The page in the reporting tool is the main
component, as well as the designer workspace. The page in the report designer acts as
a container. Other components of the report generator can be put on it. The page
cannot be placed into any component.
Pages of a report template are processed and printed in sequence, the first page of the
template is processed first, then the second, etc. Processing order of pages can be
found on the Report Tree tab, the higher the page is in the tree, the higher is its
priority of processing. In the case with copies of pages the first page will be processed
and the original page will be printed, and then copies of it. You should know that the
report template page construction begins on a new page in the rendered report. For
example, the first page of the report template was deployed on 14 and a half pages. In
this case, the construction of the second page of the report template will begin with the
15-th page in the rendered report.
© 2003-2019 Stimulsoft
Report Internals 459
As can be seen on the picture, after data from the first page of a template is processed,
too much free space appeared in the output page. The data from the second page of the
report template, was printed on the new page. In order for the data from the second
page of the report template be printed immediately after the list of the first page of the
© 2003-2019 Stimulsoft
460 Stimulsoft Reports and Dashboards User Manual
template, you should set the Print On Previous Page property of the second page of
the template to true.
© 2003-2019 Stimulsoft
Report Internals 461
3.12.2 Margins
When you print the report, the situation usually occurs when the printer cannot print to
the edges of the paper and a loss of information happens. In other words, the page can
be maximally filled with text, but, due to the technical characteristics of the printer, part
of information on the edges will not be printed. To avoid such issues you should set
report margins. The margins divide the print area and the remaining empty space
around the edges of the page, which are called fields.
Information: Borders in the created report are not displayed. The page consists of
the print area, and margins..
Generally, text and other report elements are placed in the print area. At the same time,
you can place elements on margins. For example, the text component with the function
to output the page number. The size of the fields can be changed by selecting one of
the preset fields or set it the way you want. Preset options for fields can be selected on
the Page tab -> Margins menu. Custom fields are defined by using the Margins
report property.
Sometimes you need to create a report to staple it in a book. This requires a wider field
of one of the page side.
© 2003-2019 Stimulsoft
462 Stimulsoft Reports and Dashboards User Manual
As can be seen from the picture, the right margin of the left page is wider than the left
margin, while the left margin of the right page is wider than the right margin. This
arrangement provides the opportunity to staple pages in a book. Location of fields in
contiguous pages, as shown above, is called a mirror arrangement of margins. To
activate the mirror margins you should set the Mirror Margins property set to true.
Information: If the margins have the same values (right margin is equal to the left),
their mirrored margins will be the same.
Now consider the example of setting margins. Predefined fields can be changed on the
Page tab with help of the Margins command.
© 2003-2019 Stimulsoft
Report Internals 463
Information: In some types of interface the Page tab is missing. In this case, only is
one margin size is set by default, and no other preset fields.
Setting of custom fields is carried out on the property panel. Depending on the type of
the interface there can be on a single Margins property. In this case, the values of the
properties will be of four numeric values from 0 or more, through ";" the separator.
In some types of interface, the Margin group of properties will be located, where each
margin is a separate property.
To activate the mirror fields you should be the Mirror Margins property to true.
© 2003-2019 Stimulsoft
464 Stimulsoft Reports and Dashboards User Manual
Notice: The minimum size of margins depend on the printer used, the printer
driver and the paper size. For information about the minimum size of the margins see
the user manual of your printer.
3.13 Bands
Stimulsoft Reports builds its reports using bands (sometimes bands are called sections
in other products). A band consist of two parts: the band header and the working area.
On the band header the name of the band is shown, and other information and controls
can be displayed. Every band is a container and may contain other components.
Bands do not appear in the rendered report, only the calculated content of the bands is
displayed. The properties of the band control only control its position within the
rendered report.
Usually a report will consist of many bands with text and images on them. When a
report is rendered, bands are copied as many times as necessary to complete the
report. For example, the Header band is output once before data, then the Data band is
output once for each record.
There are many bands in Stimulsoft Reports. Each type of band has its own unique
© 2003-2019 Stimulsoft
Report Internals 465
capabilities. All bands fall into one of two categories: standard bands and cross bands.
Standard Bands
Standard bands are rendered top-down. They are usually placed directly on a page.
Also they can be placed on a panel.
Cross Bands
Cross-bands are rendered from left to right. Usually they are placed on standard bands.
There is one special category of band, the Child Band, which whilst it is a standard band
is typically used to extend a Data band.
Standard bands are the basic elements of any report. The table below shows all the
standard bands.
NOTE: This article lists the bands which are used to create reports. In order to
become familiar with how they are processed when rendering the report, please read
the article Rendering Order of Bands.
© 2003-2019 Stimulsoft
466 Stimulsoft Reports and Dashboards User Manual
To make the structure of reports easier to understand and to make a report template
look clearer each type of band has its own color:
© 2003-2019 Stimulsoft
Report Internals 467
© 2003-2019 Stimulsoft
468 Stimulsoft Reports and Dashboards User Manual
3.13.1.2 Cross-bands
Important: Cross bands take the full height of its parent component so it is not
recommended to put them on the page. If the band does not fit one page then it is not
wrapped but a new page segment is added.
Unlike simple bands, the cross-bands header is displayed at the bottom of a band.
© 2003-2019 Stimulsoft
Report Internals 469
In this article let’s review the procedure of rendering the bands of the report, as well as
define their relationship for the first level of nesting. Under the first level of nesting
meant that the report will not have a hierarchy, only simple lists, only simple groups,
etc. All bands can be divided into the following types.
Page bands are Page Header and Page Footer, Overlay. These bands are related to
the report pages, and are displayed on each page of the report;
Report bands are Report Title and Report Summary. As is clear from their group
name, these bands are interconnected with the report and are used to display the title
and summary in reports. They are displayed only once.
List bands are Data Band, Hierarchical Band. In the text below we will be referring
to the Data Band, at the same time meaning that it can be used instead of the
Hierarchical band;
Bands associated with the Data Band are Header Band, Footer Band, Group
Header Band, Group Footer Band, Column Header Band, Column Footer Band,
Empty Band.
The Child Band.
All bands are displayed in the strict order. This is due to the fact that each band has
a specific function in the report. And it is very important in which order bands
are printed.
© 2003-2019 Stimulsoft
470 Stimulsoft Reports and Dashboards User Manual
page is optional.
4 Group Header At the beginning of each group.
Output on each new page is
optional.
5 Data Once for every row of data.
6 Empty Band For each empty row on every
page of the report.
7 Group Footer At the end of each group.
8 Footer, After all data has been output
Column Footer (for the Column Footer - once
for every column). Output on
each new page is optional.
9 Report Summary Once at the end of a report.
10 Overlay Once on every page of the
report.
11 Page Footer On every page. Output on the
first page is optional.
Information: Components placed directly on the page (i.e. not on any band) are
printed first, followed by the bands.
The Child Band can be placed on any Band except the Page Header, Report
Summary, Page Footer. The picture below shows the report page template with
the location of bands.
© 2003-2019 Stimulsoft
Report Internals 471
Rendering Order
© 2003-2019 Stimulsoft
472 Stimulsoft Reports and Dashboards User Manual
When rendering a report, the report template pages are processed sequentially. The
order of page processing is determined by the position of the page in the report
tree. The higher the page is in the report tree, the higher is its priority (the
sequence) of processing.
For the report tree shown in the picture above, the processing order of the pages
will be as follows: the first will be processed Page1, then Page5, Page4, Page3,
and finally Page2. Suppose that all the bands are placed on Page1 (see an example
of the report template page with the location of bands above). In this case, the
bands are processed in several steps:
On the first stage go the preliminary analysis of all the bands and the location of
the next page bands PageHeaderBand1, PageFooterBand1, and OverlayBand1.
These bands will always be primarily processed and added to each new page in the
rendering of the report. Also, on the first page of the rendered report the
ReportTitleBand1 will be added.
Notice: If the Title Before Header property is set to true, then the
ReportTitleBand1 will be processed and added to the first page first, and then
PageHeaderBand1.
After the analysis, the report rendering will start. The ReportSummaryBand1 will be
processed last.
Relationships of bands
© 2003-2019 Stimulsoft
Report Internals 473
The number of records in the data source is five, and this means that the Data Band
is printed 5 times.
Almost all of the bands can be divided into two categories: Headers and Footers,
for each header corresponds to the same type of Footers.
© 2003-2019 Stimulsoft
474 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 475
It often happens that the number of headers and footers of a particular type is
different. For example, let’s change the example above, adding HeaderBand4
between HeaderBand2 and DataBand2. Now HeaderBand4 corresponds to
FooterBand3 (color - yellow), HeaderBand2 - FooterBand2 (color - turquoise),
but the band HeaderBand3 (color blue) has no footer.
Notice: Just headers/footers are output only once before/after the data band
and the number of them is not affected on anything. Headers and footers are
displayed for each group and each group header strictly corresponds to the footer
of the group. In complex reports with different number of headers and footers of
the group there may be the erroneous relation with headers and footers.
© 2003-2019 Stimulsoft
476 Stimulsoft Reports and Dashboards User Manual
Therefore, we recommend have the same number of bands, headers and footers
of the groups in the report template.
Information: In order the band present in the report template but do not
appear in a report you should set it height to zero.
For the example above, let’s equalize the number of data headers and footers.
© 2003-2019 Stimulsoft
Report Internals 477
So there is an equal amount of header and footers in the report and it is easy to
determine their correspondence. At the same time, you can turn off (do not display)
certain bands. All of the examples above were considered for Header Bands and
Footer Bands. The same principle applies to Group Header Bands, Group Footer
Bands Column Header Bands and Column Footer Bands.
Here is an example below where there are a few data bands in the report.
These bands have no connection with each other. Therefore, they are processed
sequentially. At first, DataBand1 (category list) will be processed, and then -
DataBand2 (list of products).
© 2003-2019 Stimulsoft
478 Stimulsoft Reports and Dashboards User Manual
Now add the Header Band to the report template. The Header Band will refer to
the Data Band above what it is located. In order the HeaderBand1 corresponds to
DataBand1 (list of categories), it must be placed above this data band.
© 2003-2019 Stimulsoft
Report Internals 479
And then the first page of the report will look the following.
© 2003-2019 Stimulsoft
480 Stimulsoft Reports and Dashboards User Manual
Now consider the relationships of footers and multiple data bands. As mentioned
above, footers in the report template refers to this data band and only below of
which they are directly positioned. At the same time the Footer Band is a closing
one to the Header Band. Suppose you want to display the total by the number of
categories. In this case FooterBand1 must be placed below the data band with a list
of categories but above HeaderBand2 for a list of products.
© 2003-2019 Stimulsoft
Report Internals 481
© 2003-2019 Stimulsoft
482 Stimulsoft Reports and Dashboards User Manual
In order to display the total by the data band with a list of products, FooterBand2
must be placed below DataBand2. For this example, let’s calculate the total cost of
all the products using the Sum function. The result will be displayed on each page of
the report (set the Print on All Pages property to true). Below is a page template
with the footer by the data band and the list of products.
© 2003-2019 Stimulsoft
Report Internals 483
And then the first page of the report will look the following way.
© 2003-2019 Stimulsoft
484 Stimulsoft Reports and Dashboards User Manual
Notice
Notice: For the example described above, the placement of the
FooterBand1 under the HeaderBand2 is not quite correct.
© 2003-2019 Stimulsoft
Report Internals 485
In this case, FooterBand1 and HeaderBand2 do not refer to any Data Band.
When rendering a report, all data bands will be defined first. Then, for each
data band, headers which relate to this band are defined, i.e. all headers located
above some footer band or another data band. Footers that relate to this data
band are defined next, i.e. these are the footers which are placed below the next
header or another data band. Therefore, DataBand1 in the rendered report
will be without a footer, DataBand2 - without a header, and HeaderBand2
and FooterBand1 will not be displayed because they do not belong to any of
the data bands.
© 2003-2019 Stimulsoft
486 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 487
Always check the number of headers and footers, particularly in the report
with groups. Sometimes it is easier to add a specific band (header or footer) in
order to equalize their number and clearly trace the line. -Set zero height for the
band in the report template if you want to hide it in the rendered report.
Lists in a report can be output using three bands: Header , Footer , and Data .
Data are output using these bands. The basic band is the Data band. A data source is
specified to each Data band. The data source is a table. Each data source has data fields.
It is possible to output a table by placing text components with references to these
fields. One data source can specify previously unknown number of rows with data. The
Data band is output as many times as there are rows in the specified data source. For
example, if there are 100 rows in the data source, then the Data bad will be output 100
times. If it is not enough space on one page, the second page will be generated and
printing will be continued. Using the Header band, headers will be added to the table
that is output using the Data band. Correspondingly, the Footer band is used to output
different totals by the output table.
The basic band is the Data band. A data source is specified to each Data band. The data
source is a table. Each data source has data fields. It is possible to output a table by
placing text components with references to these fields. One data source can specify
previously unknown number of rows with data. The Data band is output as many times
as there are rows in the specified data source. For example, if there are 100 rows in the
data source, then the Data bad will be output 100 times. If it is not enough space on
one page, the second page will be generated and printing will be continued:
© 2003-2019 Stimulsoft
488 Stimulsoft Reports and Dashboards User Manual
It is possible to specify number of elements in the Data band editor. On the picture
below the Data editor is shown.
The field in what number of elements for the Data band can be specified.
A data source is not specified.
By default the CountData property is 0. But if to set it to 4, then the Data band will be
printed 4 times. This can be used to print empty columns. It is important to remember
that in this case data source is not specified.
It is necessary to specify what data source will be used when you output lists in the
Data band. It is important because report generator should know how many times the
Data band must be printed. Therefore, the reference to the Data band is specified. This
can be done with several ways. First, it is possible to use the Data band editor. To call
the editor it is enough double-click on the Data band. Also it is possible to call the
editor from the context menu. See below an example of this menu.
© 2003-2019 Stimulsoft
Report Internals 489
Also the editor can be called using the DataSource property of the Data band.
Data band editor allows quickly selecting data source. Data source is selected on the
first bookmark of the Data band editor. All data sources are grouped in categories.
Each category is one data connection with data in the Dictionary of Data. The picture
below shows data in the Data band editor.
© 2003-2019 Stimulsoft
490 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 491
Second, it is possible to use quick button on the Data band and select data source from
menu. Basic elements of menu are represented on the picture below.
© 2003-2019 Stimulsoft
492 Stimulsoft Reports and Dashboards User Manual
Render a report that prints a list. Put one Data band on a page. Using the DataSource
property assign a data source to the band. Put Text components on the band. Make a
reference to data fields in each component. For example:
{Customers.CompanyName}
© 2003-2019 Stimulsoft
Report Internals 493
After report rendering all references to data fields will be changed with data from
specified fields. Data will be taken from the data source, that was specified for this band.
Number of copies of the Data band in the rendered report will be equal to the number
of rows in the data source. As a result, all fields were output as a list. The picture below
shows a rendered report.
© 2003-2019 Stimulsoft
494 Stimulsoft Reports and Dashboards User Manual
If all lists cannot be placed on one page, then the report generator will add additional
pages.
Usually, a name of a column is output over each column. To output data name or other
information before data the special Header band is used. It is placed on a page before
the Data band. There should not be any headers between the Data band and the
Header band. On the picture below a sample of a report with one Header band and
one Data band is shown.
Create a new report. Put a data band on a page. Add the Header band to a report. Put
text components on a band. Specify data name, which are output on the Data band, in
these text components. Increase the font size, make it bold. Change the text
components background on the Header band. Render a report. The picture below
© 2003-2019 Stimulsoft
Report Internals 495
When report rendering for one Data band, it is possible to create more than one
Header band. For example, one Header band can be output only in the beginning of
data. And the second one can be output in the beginning of data and on other pages of
a report. Header bands are output in the same order as they are placed on a page.
Notice: For one Data band unlimited number of Header bands can be created.
Besides Data bands and Headers bands, Footer bands can be used. These bands are
used to output total of data. The Footer band is placed after data are output. Different
information is output in the band. For example, totals of a list, data, additional
information. On the picture below a report template with the Footer band is shown.
© 2003-2019 Stimulsoft
496 Stimulsoft Reports and Dashboards User Manual
As a result of report rendering with the Footer band, the report generator will output
total after all data will be output. For example:
The Data band may have unlimited number of bands. Bands of totals will be output in
the same order as they are placed on a page.
Notice: For one Data band unlimited number of Footer bands can be created.
Sometimes, when printing lists, a header will be printed on one page, and the first row
of data on another. To escape this visual gap of data the KeepHeaderTogether
property of the Header band can be used. If the property is true, then headers will be
printed together with data. In other words as minimum one row with data will be
output. If there is no enough free space for a header with data row, then they will be
carried over on the next page. See a sample of a rendered report with the
KeepHeaderTogether property set to false.
© 2003-2019 Stimulsoft
Report Internals 497
As the same report with keeping header together with the first data row.
The KeepFooterTogether property is used to print a list so that to output data row
together with totals of data. If the property is true, then totals will be printed with the
last row of data. If total cannot be placed after the last page printing, then it is output on
the current page. If there is no enough free space to output totals, then it is carried over
on the next page. On picture below a sample of a report with the KeepFooterTogether
property set to false is shown.
And the same report with keeping footer together with the last row of data.
© 2003-2019 Stimulsoft
498 Stimulsoft Reports and Dashboards User Manual
To add a number of a row into an expression it is possible to use the Line system
variable. For example, the following expression can be used to get the result as is
shown on the picture above:
{Line}.{Products.ProductName}
The Line system variable returns the number of the current row. Numeration starts
© 2003-2019 Stimulsoft
Report Internals 499
with 1. In other words the system variable returns 1 for the first row, 2 for the second
one and etc. This system variable has the Int64 type. The Line system variable may also
be used in arithmetic expressions. If you need to start numeration from 0, it is
necessary to use the following expression:
{Line - 1}.{Products.ProductName}
In addition to the Line, LineABC and LineRoman system variables can also be used for
the list enumeration. The LineABC system variable returns the alphabetical index
instead of a number of a row. The LineRoman system variable returns Roman
numerals of a number of a row. For example, a report where the LineABC system
variable is used is shown on the picture below:
A report where the LineRoman system variable is used is shown on the picture below:
© 2003-2019 Stimulsoft
500 Stimulsoft Reports and Dashboards User Manual
LineABC and LineRoman system variables, unlike the Line system variable, return
numbers as strings. For example, to enumerate a list with letters in the lower case, it is
possible to use the following expression:
{Line.ToLower()}.{Products.ProductName}
To make a report look better and for much convenient work with rows it is
recommended to alternate rows filled with different colors. This will make your report
look professional. There are two ways in the report generator to make such filling: 1.
using highlight conditions; 2. using special properties of the Data band styles.
The first way - using the Data band highlight condition. Open a report that has a list. An
example of such a report is shown on the picture below.
© 2003-2019 Stimulsoft
Report Internals 501
All rows have the same background color. Add highlight condition to the Data band.
The Conditions property of the band is used for this. Add a new condition in the editor,
change background color on another color to fill odd rows, change text color (it is red
by default) and set the highlight condition. The Line system variable is used to specify
whether this row is odd or even. For example:
C#:
(Line & 1) == 1
VB.NET
(Line And 1) = 1
In other words for odd rows this condition is true. On the picture below the Conditions
editor is shown.
© 2003-2019 Stimulsoft
502 Stimulsoft Reports and Dashboards User Manual
After adding a condition to the data band a report will look as it shown on the picture
below.
The second way - using properties of styles. The Data band has two special properties
- OddStyle and EvenStyle. To add highlight condition to rows it is enough to specify a
style in one of these properties. For example, the collection of styles has OddStyle.
Select this style in the OddStyle property.
© 2003-2019 Stimulsoft
Report Internals 503
The report looks the same as the one where the first way was used.
Except standard event for all components the Data band has three special events:
BeginRenderEvent, EndRenderEvent, and RenderingEvent. The Data band must be
created for each data row of the specified data source. For example, if there are 10 rows
in the data source, then the Data band will be created 10 times. The
BeginRenderEvent is called before the data is rendered. In other words when data
rows are not output. The event can be used for initialization some data ans variables,
calling some actions. The EndRenderEvent is called after the Data band is rendered,
when all data rows will be output. In this event data processing, totals calculation
processing is done. The RenderingEvent is called when rendering one data row. The
event is called before the Data band is printed. If these are 10 data rows, then the
RenderingEvent will be output 10 times.
Calculate a number of elements in the data source. Write the following code in the
BeginRenderEvent:
myvariable = 0;
Also it is necessary to create the myvariable variable in the data dictionary. Write the
following code in the RenderingEvent:
myvariable = myvariable + 1;
And the EndRenderEvent is not used in this case. As a result of calculation the
myvariable will store the value that equal to number of elements in the data source.
To output this value in the Text component the following expression will be used:
© 2003-2019 Stimulsoft
504 Stimulsoft Reports and Dashboards User Manual
{myvariable}
Also it is necessary to set the ProcessAtEnd property of the Text component to true. It
is necessary to output calculated value in the myvariable.
Frequently data, which are used for the report rendering, are sorted in order that does
not to meet your requirements. In this case, it is possible to sort data using by abilities
of Stimulsoft Reports. Sorting can be set for each Data band separately. To set sorting
it is necessary to use the Sort property of the Data band. Using this property it is
possible to call the editor of the Data band.
Also it is possible to call the editor by double-click on the band. The Sort bookmark is
responsible for sorting in the band editor. The picture below shows structure of the
bookmark of sorting.
© 2003-2019 Stimulsoft
Report Internals 505
Each sorting consist of several levels. For example, the first list can be sorted by one
column, then by the second column, then by the third column. On the picture above
bookmark sorting, sorting levels are marked with figure 6. Number of levels of sorting
is unlimited. Each level of sorting has the sort order. It is possible to sort in ascending
order and in descending order. By default, sorting is set in ascending order. In addition
to the sort order in each level of sorting the column (figure 9 on the picture above) is
set or expression (figure 8 on the picture above) is set, which is used to obtain the
values by which sorting will be done.
When rendering a report, sometimes it is necessary to print rows of the data source
© 2003-2019 Stimulsoft
506 Stimulsoft Reports and Dashboards User Manual
which correspond to the definite condition. To select the necessary rows the data
filtering is used. Data filtering is set using the Filters property of the Data band. In
addition to the Filters property the FilterOn property can also be used. This property
controls filter activity.
How does the filter work? In each filter the condition is set. If the condition is set to
true, this means that the result of its calculation is true, then this data row will be
output. If the result of calculation is set to false, then this row will be ignored. Each
band may contain more than one filter. For example it is necessary to check one of
columns of the data source on the equality to the string constant and simultaneously
the value of this column should start with the definite character. The filtering is setup in
the window of the Data band setup (the Filters bookmark). On the picture below such a
window is shown.
© 2003-2019 Stimulsoft
Report Internals 507
Filter panels. Each Data band may contain one or more filters;
The button to select a new filter;
The button to delete the selected filter;
The type of logical operation, according to what filters will be formed. This field is
available if the Data band contains more than one filter. There are two options: a
logical And and logical Or. If you select the logical And, then data row will be output, if
all filters are set to true. If you select the logical Or, then the data row will be output, if
at least one of the filters is set to true;
The Filter On flag is used to enable/disable filters of the data band.
Each filter is a condition for data row processing. There are two ways set a condition:
Value. The condition is set using the wizard;
Expression. The condition is set as an expression.
On the picture below, the figure 1 is the field in what the way of calculating condition is
indicated.
On the picture below the panel of setting a condition using the wizard is shown.
© 2003-2019 Stimulsoft
508 Stimulsoft Reports and Dashboards User Manual
on how the reporting tool processes a condition. For example, if the data type is a
string, then the method of work with strings is used. In addition, depending on the data
type the list of available operations of conditions is changed. For example, only for the
String data type is Containing operation is available;
The column of the data source is specified in the field. The value from this column
will be used as the first value of a condition;
The type of operation, using what the calculation of the value of a condition is done.
All available types of operation are grouped in the table and shown on the picture
below;
The second value of a condition of a filter. It is required to specify two values for
some operations. For example, for the between operation it is required to specify two
values.
The table below shows operations and their description for each data type.
© 2003-2019 Stimulsoft
Report Internals 509
© 2003-2019 Stimulsoft
510 Stimulsoft Reports and Dashboards User Manual
When using the Expression type of a condition, the condition is set as a text
expression, that should return the Boolean value. The picture below shows parameters
of settings:
© 2003-2019 Stimulsoft
Report Internals 511
Customers.ID == 53447
If the expression will return the value of not a Boolean type, then the reporting tool will
not be able to render an expression of this type.
Often it is necessary to output some lists one after another in a report. Stimulsoft
Reports has no restrictions on it. All you have to do to render such a report is to place
two Data bands with headers and footers bands. For example.
Put two Data bands on a page, specify them with different data sources. In addition
create a header and a footer for the Data band. For this, place two Header bands and
two Footer bands. How do you know which header and footer bands belong to the
Data band? It's very simple. The Header band should be placed over the Data band.
The Footer band should be placed under the Data band. Thus, the Header band or the
Footer band are considered to belong to this Data band, if there are no other Data
bands between them. For example, two bands of each type are placed on a page. The
HeaderBand1 band is placed over the DataBand1 and there are no other Data bands
between them. So it belongs to the DataBand1. But if to take the DataBand2, then
between this band and the HeaderBand1 band the DataBand1 is placed. Therefore,
the HeaderBand1 does not belong to the DataBand2. The FooterBand1 is placed
under the DataBand1 band and there are no other Data bands between them. So it
belongs to the DataBand1. But the FooterBand2 band is placed under the
DataBand1, and the DataBand2. But there is the DataBand2 in placed between the
DataBand1 and the FooterBand2. Therefore, the FooterBand2 belong the the
DataBand2. Here is an example of a report template, which outputs several lists one
after another.
© 2003-2019 Stimulsoft
512 Stimulsoft Reports and Dashboards User Manual
The first Data band will output the first list. When the list will be output the second list
will be output. The second band will output on the second list. The number of lists is
unlimited. The picture below shows the sample of how to output a report with with two
lists.
© 2003-2019 Stimulsoft
Report Internals 513
The PrintOn property have all components including HeaderBand and FooterBand. This
property is used to display a component on report pages according to the value of this
property. If the property is set to All pages, then components will be shown as usually.
If the property is set to any other value then the component will not be showing on the
first/last page of a report or on the contrary will be shown on all pages except the first/
last ones.
The picture below shows a report sample with the PrintOn property of the
HeaderBand set to OnlyFirstPage.
© 2003-2019 Stimulsoft
514 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 515
© 2003-2019 Stimulsoft
516 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 517
The report designer supports a way of dragging components, including the data
dictionary. You can drag and drop data sources, columns, variables, functions, and
more. You can create a list simply by dragging the data source from the dictionary in
the report template. The picture below shows an example of dragging the data source
Order Details from the Dictionary on the report page.
© 2003-2019 Stimulsoft
518 Stimulsoft Reports and Dashboards User Manual
After you release the left mouse button, you will see a dialog box Data, in which you
should set the parameters of a new report template. Below is a Data dialog:
© 2003-2019 Stimulsoft
Report Internals 519
This panel displays the columns which contain the data source and the connection
between sources. If you need to select the column, references which will be present in
the text components on the data band.
This panel displays the selected data columns and their order. The order (top-down)
on this panel is the order of arrangement of text components on the data band from
left to right.
These buttons are used to move the selected columns on the panel , thus changing
the order of text components on the data band.
The button Mark All. When clicking it, all columns (a checkbox is set to true) on the
panel are selected.
The button Reset. When clicking, it sets the selection parameters by default
(checkbox is set to false), i.e. no column are selected.
Selects a container for data: data band and a table.
If you want to add bands Header and/or Footer into the report template, you should
set the appropriate option.
For displaying Boolean values, you can use the Check Box component. Various styles
can be applied to it. The picture below shows the available styles of check boxes:
© 2003-2019 Stimulsoft
520 Stimulsoft Reports and Dashboards User Manual
You can set a checkbox style to each Boolean value. To do this, select values of the Style
property for True (Check style for True) and style values for False (Check style for
False). You can also change the type of values.
The previous topic describes how to create a report using data as a table. And data are
not connected to each other. Three bands were used: Data, Header, and Footer. But
sometimes it is required to create reports and output data which are organized in some
levels and connected to each other. For example, invoice and a list of goods, clients and
goods delivery to them etc. In this case Master-Detail reports are used. These are
reports in which the output value of the Master data source, corresponds to the number
of values (from 0 and greater) from the Detail data source. On the picture below the
example of the Master-Detail report is shown:
© 2003-2019 Stimulsoft
Report Internals 521
As one can see on the picture, each category of products corresponds to the list of
products from this category. An example of the Master-Detail report template is shown
on the picture below:
Data are output in the Detail part of the Master-Detail report are nested data. These
data are as if nested into one data row of the Master data source. And the number of
nesting is called the level of nesting. For example, if in the report the Master-Detail
report two lists are output and the second list is connected with the first list, then this
© 2003-2019 Stimulsoft
522 Stimulsoft Reports and Dashboards User Manual
report will have two levels of nesting (the first is the Master, and the second is the
Detail). And if this detailed list will have an additional list which will detail this list, then
this report will have three levels of nesting (the first is the Master, the second is the
Detail, and the third is the SubDetail). The number of nesting is unlimited. Usually
number of nesting is no more than 3-4 levels.
Put two Data bands on a page to start creating the Master-Detail report. Specify the
Master data source to the first band (this is the Master band). Specify the Detail data
source to the second band (this is the Detail). Then, it is necessary to bind these bands
using the MasterComponent property of the second band. The Master band should be
selected.
© 2003-2019 Stimulsoft
Report Internals 523
After filling the MasterComponent property two bands will be bound to each other.
When printing one row of the Master band, all rows of the Detail band will be output.
The Detail band will not be printed itself but only in relation to the Master band.
Selection of relation occurs using the Data band editor, as well as in case with the
MasterComponent property.
Selection is done between relations which were created between Master and Detail data
© 2003-2019 Stimulsoft
524 Stimulsoft Reports and Dashboards User Manual
sources, and in which the Detail data source is subordinate data source. There can be
more than one relation (for example, as seen on the picture above). Therefore, it is
important to select the correct relation.
3.15.2.1 Relation
If the Relation is not specified in the Master-Detail report, then, for each Master
record, all Detail records will be printed. In order to build a Master-Detail report,
which will print only those Detail records that are associated with this Master record,
you should create a Relation between data sources. The Relation describes the
relationship between data sources such as "master-detail". For example, in the table of
the Categories data source in the CategoriesID data column, may be one record with
a unique name 1, and in the table of the Products data source in the CategoriesID
column data may be many records with the same unique name 1. The picture below
shows an example of data source tables:
© 2003-2019 Stimulsoft
Report Internals 525
As can be seen from the picture above, one record with the name 1 in the table of the
Categories data source corresponds to 12 records in the table of the Products data
source. In other words, if you create a Relation by the CategoriesID column data
between Categories and Products data tables, then when creating the Master-Detail
report, the first Master record will correspond to Detail 12 entries. The picture below
shows an example of the rendered Master-Detail report by CategoryName and
ProductName columns, where the Relation is arranged between the Product and
Category data sources by columns of CategoryID data:
The parameters of relations are specified in the New Relation window. To invoke this
window, choose the New Relation item from the context menu of the data source or
click the New Relation button form the Data Setup window in the Relation tab. The
picture below shows an example of the New Relation window:
© 2003-2019 Stimulsoft
526 Stimulsoft Reports and Dashboards User Manual
As can be seen on the picture above, nine fields, which define the relation parameters:
The Name in Source field provides an opportunity to change the name of the data
source (not in the report), i.e. the name in the original data source, for example, in a
database;
The Name field provides an opportunity to change the name of the relation that is
displayed to a user;
The Alias field provides an opportunity to change the alias of the relation;
The Parent DataSource field provides an opportunity to change the main data
source, i.e. the data source which entries are Master entries in the Master-Detail
report is selected;
The Child Data Source provides an opportunity to change the child data source, i.e.
© 2003-2019 Stimulsoft
Report Internals 527
the data source which entries are Detail entries in the Master-Detail report is selected;
This field displays the column-keys of the master data source;
This field displays the column-keys of the child data source;
- fields shows the master and child data column-keys, which set the Relation
between data sources. Column-keys should comply with all rules of creation relations
in ADO.NET:
1 It should be the same number of them;
2 Their types should match, i.e. if the master column-key of the String type, then the
child column-key should be of the String type;
3 And so on;
Control panel of data columns in the New Relation dialog box is represented by 4
buttons.
The button to move all data columns from the field or in the field or ,
respectively;
The button to move the selected data column from the field or in the field or
, respectively;
The button to move the selected data column from the field or in the field or
, respectively;
The button to move all the data columns from the field or in the field or ,
respectively.
The logic of building Master-Detail reports with more than 2 nesting levels is the same
as the logic of building simple Master-Detail reports. For each Detail band the
MasterComponent and DataRelation properties are set. For example, it is necessary
to render a report in what there are four nesting levels. The first level is countries, the
second - regions, the third - cities, the fourth - quarters. In this case one should place
Data bands one on another on a page for each data source. Set the
MasterComponent of the second band on the band countries. This property for the
third band will indicate the regions band. For the last band quarters - will indicate on
© 2003-2019 Stimulsoft
528 Stimulsoft Reports and Dashboards User Manual
Then it is necessary to select relations for three bands for the report generator is able to
select correct data for each detailed band.
Then this report will be ready for rendering. One Master band may have more than
one Detail band. In other words two, three or four Detail bands may refer to it. And
each of them may have their own Detail bands. There are no limitations on number of
nesting levels in the Master-Detail reports.
© 2003-2019 Stimulsoft
Report Internals 529
The picture above shows a report in what a part of Details is located on one page, while
the other part of details has been moved to the next page. If property is set to true, then
the report generator will try to place the Master and Detail records on one page. If the
report generator cannot do it, the Master and Details together will be moved to the
next page.
© 2003-2019 Stimulsoft
530 Stimulsoft Reports and Dashboards User Manual
The picture above shows an example of a report with the KeepDetails property of the
Master set to true. If it is not possible to put them together, then the data will be
forcibly broken and displayed on different pages. In this case, if the Master component
has many Detail records and take a significant part on the page, and the KeepDetails
property is set to true, then there may be a large empty space at the bottom of each
page.
Rows numbering in the Master-Detail reports works the same as in ordinary lists. But
there is on difference. If numbering is used in the Detail of the Data band, then for each
sublist there will be their own numbering. For example, on the picture below the
Master-Detail report is shown.
© 2003-2019 Stimulsoft
Report Internals 531
Numbering in the Master list is indicated with the red color. Numbering in the Detail list
is indicated with green color. As you can see on the picture, the numbering in the Detail
list starts every time after the row from the Master list is output.
Besides using system variables numbering can be done using the Line property of the
Data band. In this case the expression will be as follow:
{DetailDataBand1.Line}.{Customers.CompanyName}
Why is it necessary? Why not to use the Line system variable? The system variable has
the visibility zone. For example, you use the Line system variable on the Master band.
In this case numbering will be output for the Master band. If you use the Line system
variable on the Detail band, then, in this case, numbering will be output for the Detail
band. But what to do if it is necessary to output numbering of two different Data bands
in one expression? In this case the Line property of the Data band is used. For example,
© 2003-2019 Stimulsoft
532 Stimulsoft Reports and Dashboards User Manual
{DataBand1.Line}.{Line}.{Products.ProductName}
Besides the Line system variable, there is also additional LineThrough system variable
for numbering the Master-Detail lists. What is the difference? The LineThrough
system variable is used to output numbers using the continuous numbering. On the
picture below the same report with continuous numbering is shown.
© 2003-2019 Stimulsoft
Report Internals 533
In this case the numbering of the Detail list starts not after the row of the Master list is
output but before the first row of the Detail list is output. The system variable starts
numbering with 1.
© 2003-2019 Stimulsoft
534 Stimulsoft Reports and Dashboards User Manual
The picture above shows a structure of a Master-Detail reports with two DataBand
bands.
For example, not all Master entries have Detail records. Then, if the
PrintIfDetailEmpty property is set to false, then the result shown below is obtained:
Only a part of Master records (in the picture above they are marked with numbers 2
and 6) will be output and the remaining Master records (which have no Detail records)
© 2003-2019 Stimulsoft
Report Internals 535
will not be output. To print all Master records, regardless whether they have Detail
records, it is necessary to set the PrintifDetailEmpty property of the Master band to
true. An example of a report for this case is shown below below:
As seen on the picture Master records were output (see numbers 1,3,4,5,7,8) i.e. all
Master records. Moreover, they are output without Detail records. By default, the
property is set to false.
3.16 Groups
One of the main tasks when rendering reports is grouping the data. Grouping can be
used both for the logical separation of data rows and to make a report look better. Two
bands are used to create grouped reports: the GroupHeader band and the
GroupFooter band.
The GroupHeader band is output in the beginning of each group. The GroupFooter
band is output in the end of each group. The picture below shows how a report with
grouping may look:
© 2003-2019 Stimulsoft
536 Stimulsoft Reports and Dashboards User Manual
Important: You MUST define a condition for every group, otherwise no grouping
will take place in the rendered report.
For example, if you create a report that generates a list of companies the results could
be grouped in alphabetical order by the first letter of the company name. Companies
with names starting with A would be in the first group, companies with names starting
with B would be in the second group and so on, as in the example below:
© 2003-2019 Stimulsoft
Report Internals 537
The grouping condition you use can be any valid value. For example, if you wanted the
companies to be grouped according to their location you could set the condition to
group on a column from the database that contains the necessary location data.
The Group header is created using the Group Header band, the basic band for
rendering reports that use grouping. It is impossible to generate grouped reports
without using a Group Header band.
The Group Header band is output once at the beginning of each group and typically
contains components that display header information such as a group name, date,
grouping condition, etc.
To create groups within a report you must specify a grouping condition using the
Group Header band designer or the Condition property of the band.
Note: The Header band is always output before the Group Header band, regardless
of where bands may be positioned on a page in the designer.
© 2003-2019 Stimulsoft
538 Stimulsoft Reports and Dashboards User Manual
When rendering a report the report generator binds the group header to the specified
Data band. The Group Header band is positioned on a page before the Data band that
outputs data rows. The Group Header band always belongs to a specific Data band,
usually the first Data band positioned under the Group Header band.
You must have a Data band to be able to render grouped reports because data rows
are output using this band and because those data rows are the basis of the grouping
in the report. In addition you can specify the sorting of rows in the Data band which
will affect the order in which the groups are rendered.
Important: To render reports with grouping you MUST use a Data band.
The Group Footer band is commonly used to generate a group footer which is placed
after the Data band bound to the group and typically contains components that output
summary information relating to the group content. Every Group Footer band belongs
to the Group Header band associated with it, and will not be output if there is no
associated Group Header band.
Note: The Group Footer band is always output before the Footer band regardless of
where bands may be positioned on a page.
© 2003-2019 Stimulsoft
Report Internals 539
The Group Footer band is used to output information specific to each group. For
example, if you want to output the number of rows in a group, it is enough to put a text
component on the Group Footer band and assign it the following expression:
{Count()}
Please note that the report generator automatically sorts the rows of data before
grouping. By default sorting by ascending order from A to Z is used. Sorting direction
can be changed using the SortDirection property. This can take three values: None,
Ascending, Descending.
None. The data will be displayed in order they are put in the data source.
Ascending. Data are displayed in alphabetical order from A to Z. The picture
below shows an example of a report where sorting by ascending order:
© 2003-2019 Stimulsoft
540 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 541
3.16.5 GroupFooter
{Count()}
After rendering, it is possible to see that in the footer of each group calculation by
number of rows is done.
© 2003-2019 Stimulsoft
542 Stimulsoft Reports and Dashboards User Manual
When rendering a report with grouping, a group may not fit to one page. I.e. several
lines of group will be output on one page and other part on the next page.
This can be avoided using the KeepGroupTogether property of the Group Header
band. If to set this property to true, then, if a group cannot be placed on one page, the
whole group is moved to the next page. If it is impossible to print a group on the next
page then the group will be forcibly broken and output on multiple pages.
© 2003-2019 Stimulsoft
Report Internals 543
Work with this property may lead to empty space on page, if groups contain a large
number of rows.
If the property is set to true, then the group header will be displayed with at least one
row of a group. The picture below shows how a group will be output if the
KeepHeaderGroupTogether property is set to true.
© 2003-2019 Stimulsoft
544 Stimulsoft Reports and Dashboards User Manual
The Group Footer Band has the KeepGroupFooterTogether property. If the property
is set to false, then the data can be placed on one page and the footer of a group on
another, and data of groups will be separated from its footer:
If the property is set to true, then at least one line of data will be together with the
footer of a group:
© 2003-2019 Stimulsoft
Report Internals 545
Like the Data band, the Group Header band has three specific events:
BeginRenderEvent,
EndRenderEvent and
RenderingEvent.
BeginRenderEvent
The BeginRenderEvent is called before a group is rendered, in other words whenever
a new group is output. This event can be used for the initialization of data or variables,
or for calling certain actions.
EndRenderEvent
The EndRenderEvent is called after the group is output. Usually in the handler for this
event data processing and the calculation of totals is done.
RenderingEvent
The RenderingEvent is called when the engine is rendering one data row from a
group.
In grouped reports is is usual to display both a group header and a group footer.
However, what if you need to output only group footers without group headers?
When creating grouped reports you must use a Group Header band, but if you do not
want it to display it can be hidden by setting the height of the Group Header band to 0
© 2003-2019 Stimulsoft
546 Stimulsoft Reports and Dashboards User Manual
which will cause the report to be rendered successfully but the Group Header band
will not appear in the output.
When rendering grouped reports you may use more than one grouping to achieve the
desired output, known as 'nesting'. For example, you might group Customers by
location and then sub group them alphabetically. To achieve this style of report you
should put the required number of Group Header bands before the Data band and
ideally the same number of Group Footer bands immediately after it:
© 2003-2019 Stimulsoft
Report Internals 547
In each Group Header band you must specify the grouping criteria. When rendering
the report the Group Header bands are processed in the in which they appear on a
page working from the top down i.e. the topmost band is processed first, then the one
that is placed directly underneath it and so on. When placing Group Footer bands on a
report page it is important remember that the last Group Footer band is always
associated with the first Group Header band.
In grouped reports is is usual to display both a group header and a group footer.
However, what if you need to output only group headers without group footers?
It is possible to simply not include a Group Footer, but this is NOT recommended as it
can lead to unexpected results particularly if you are working with Nested groups. It is,
therefore, recommended that you ALWAYS use Group Headers and Group Footers in
pairs.
Important: To render reports with grouping you should always use Group Headers
and Group Footers in pairs to avoid the possibility of unexpected results.
If you do not want the Group Footer to be displayed it can be hidden by setting its
height to 0 which will cause the report to be rendered successfully but the band will not
appear in the output.
© 2003-2019 Stimulsoft
548 Stimulsoft Reports and Dashboards User Manual
One of the tasks of lines numbering is through numbering in a group. The numbering
starts with number 1. Through numbering of lines in a group is defined by the
LineThrough system variable.
In other words, when using the LineThrough system variable, all rows in the rendered
list have an index number and start of printing a new group header does not affect the
numbering (numbering does not reset to its initial state equal to 1).
If you wish to display line numbers within a group you should use the Line system
variable. The reference to this variable should be specified in the expression assigned
to a text component placed on the group Data band.
For example, put a text component on the Data band and write the following
expression in it:
{Line}
After the report has been rendered there will be a numbered list of rows in each group,
the numbers starting 1.
In each new group within a report the numbering starts all over again at 1. If you want
the numbers to continue from one group into the next group (known as 'through-
numbering') you should use the LineThrough system variable instead. For example,
© 2003-2019 Stimulsoft
Report Internals 549
{LineThrough()}
As a result the row numbers in the subsequent group will continue from the numbers
in the preceding group.
A text component with the GroupLine system variable can be placed in the Group
© 2003-2019 Stimulsoft
550 Stimulsoft Reports and Dashboards User Manual
The picture above shows a combination of Group Header band and Group Footer
band bands with Data bands in a Master-Detail report.
Page bands are printed at the top or bottom of a page. Usually they are used to output
things like page numbering, copyright notices, company address and contact
information etc. Stimulsoft Reports supports three types of page bands: Page Header,
Page Footer, and Empty Data.
© 2003-2019 Stimulsoft
Report Internals 551
The Page Header band is used to output information such as page numbers, dates, and
company information at the top of a page. The Page Header band is output at the top of
every page of the report. An unlimited number of Page Header bands can be placed on
a page.
Note: The number of Page Header bands that can be placed on a page is effectively
unlimited other than by available space.
Example
Create a new report and drop three bands on a page: a Page Header band for the
current page number and number of pages in the report, a Data band to output data
and a Header band band to output data column headers. Drop a text component on the
Page Header band and enter the following expression in the Text Property Editor:
{PageNofM}
Note: If you prefer instead of typing the expression it is possible to select it from the
System Variables in the Expression Editor.
Now run the report, and you will see that the page number is printed at the top of each
page.
© 2003-2019 Stimulsoft
552 Stimulsoft Reports and Dashboards User Manual
The Page Footer band is used to output information such as page numbers, dates, and
company information at the bottom of a page. The Page Footer band is output at the
bottom of every page of the report. An unlimited number of Page Footer bands can be
placed on a page.
Note: The number of Page Footer bands that can be placed on a page is effectively
unlimited other than by available space.
© 2003-2019 Stimulsoft
Report Internals 553
Example
Create a new report and drop three bands on a page: a Page Footer band for the
current page number and number of pages in the report, a Data band to output data
and a Header band band to output data column headers. Drop a text component on the
Page Footer band and enter the following expression in the Text Property Editor:
{PageNofM}
Note: If you prefer instead of typing the expression it is possible to select it from the
System Variables in the Expression Editor.
© 2003-2019 Stimulsoft
554 Stimulsoft Reports and Dashboards User Manual
Now run the report, and you will see that the page number is printed at the bottom of
each page.
© 2003-2019 Stimulsoft
Report Internals 555
© 2003-2019 Stimulsoft
556 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 557
There are two report bands in Stimulsoft Reports: the Report Title and the Reports
Summary bands. The Report Title band is output in the beginning of a report and the
Report Summary band is output in the end of a report. The number o Report Title and
Report Summary bands on a page is unlimited. The Report Title and the Report
Summary bands can be output more than one time and can be used on each page.
One of the ways to display the report header is the way of using the Report Title band.
The report header will be output only once in the beginning of a report. The Report
Title band is placed after the Page Header band, and before the Header band. The
number of Report Title bands on a page is unlimited.
On the picture above shows how bands can be placed on a page. Here one can see top-
down the Page Header, Report Title, and Header bands.
A report summary can be output using the Report Summary band. The number of
© 2003-2019 Stimulsoft
558 Stimulsoft Reports and Dashboards User Manual
Report Summary bands placed in a report is unlimited. This band is output on each
page as many times as there are pages.
On the picture above shows how bands can be placed on a page. Here one can see the
top-down order of bands:
The Report Title band;
The Header band;
The Data band;
The Footer band;
The Report Summary band.
By default, the Page Header band is placed above the Report Title band:
but it is also possible to output the Report Title band before the Page Header band:
© 2003-2019 Stimulsoft
Report Internals 559
By default this property is set to false. Set the TitleBeforeHeader property to true and
the Report Title band will be output before the Page Header band.
When printing, sometimes the last data row will be on one page and the report
summary on the next one. The report will not look good.
To avoid such unpleasant incidents the Report Summary band has the
KeepReportSummaryTogether property.
If the KeepReportSummaryTogether property is set to true, then minimum one data
row will be printed with the report summary. Thus it is necessary to take into account
that after the data row is transferred free space may remain on a fist page. Therefore,
one should take this into account when working with this property.
© 2003-2019 Stimulsoft
560 Stimulsoft Reports and Dashboards User Manual
Suppose there is a report in which data covers only one-third of the last page. The
report summary is displayed after the data.
But it is necessary that the report summary should be placed on the bottom of the
page. The Report Summary band has the PrintAtBottom property. By default, the
property is set to false.
If the PrintAtBottom property is set to true, then summary will be output on the
© 2003-2019 Stimulsoft
Report Internals 561
There is a property in a report generator that allows you to display a report header and/
or report footer when the DataBand is not on a page or data of a report. This is the
Print If Empty property, which have both the Report Title band, and the Report
Summary band.
© 2003-2019 Stimulsoft
562 Stimulsoft Reports and Dashboards User Manual
By default, this property is enabled. If you disable this property for two bands, you get a
blank page.
Note: that in this example, in addition to the Print If Empty property, the Print At
Bottom property of the Report Summary band band is also set.
3.19 Columns
Stimulsoft Reports has the ability to group data in columns. Data output in columns can
improve the appearance of a report, and also allows more efficient use of page space.
Two types of columns are supported: columns on a Page and columns on a Data band.
Columns on a Data band support two modes: Across Then Down and Down Then
Across. Stimulsoft Reports has a full set of tools to allow reports to be rendered with
columns.
© 2003-2019 Stimulsoft
Report Internals 563
The ColumnWidth property is used to set the column width and is applied to all
columns which will be output on the page. The ColumnGaps property is used to set
the space between the columns.
Important: Three page properties have to be set to output columns on a page. The
Columns property is used to define the number of columns, the ColumnWidth
property is used to set the width of each column, and the ColumnGaps property is
used to set the space between the columns.
In columnar output mode the page is separated vertically and the report is logically
output in the first column, then in the second etc.
© 2003-2019 Stimulsoft
564 Stimulsoft Reports and Dashboards User Manual
Example
Suppose that you need a report with two columns. Set the Columns property to 2 (this
means that two columns will be output on each page). Set the ColumnWidth to a
suitable width for one column and in the ColumnGaps property set the space between
columns. Put two bands on a page: a Header band and a Data band. The data headers
will be output on the Header band and data itself will be output on the Data band.
Run the report. There are two columns on each page and all lines are numbered.
© 2003-2019 Stimulsoft
Report Internals 565
The columns are generated automatically - Stimulsoft Reports prints bands until there
is no free space left on a page. Then, instead of creating a new page, a new column is
added and data is output in a new column until again there is no free space. This is
repeated until the required number of columns has been generated, at which point if
there is still data to be output a new page is created and the process starts all over
again.
Columns have one disadvantage, which is that there may be situations where the
available data is sufficient to fill only one column leaving other columns empty and that
part of a page will stay unused. To get around this problem it is possible to output
columns using the Data band.
The Columns property of the Data band is used to enable the output of data in
columns. Set this property to 2 or more to cause the data to be output in a columnar
© 2003-2019 Stimulsoft
566 Stimulsoft Reports and Dashboards User Manual
format.
It will also be necessary to set the ColumnWidth and ColumnGaps properties. The
ColumnWidth property is used to set the column width and is applied to all columns
on the Data band. The ColumnGaps property is used to set the space between two
columns.
Note: Three data band properties have to be set to output columns on a band. The
Columns property is used to define the number of columns, the ColumnWidth
property is used to set the width of each column, and the ColumnGaps property is
used to set the space between the columns.
There are two output modes for columns on the Data band: AcrossThenDown and
DownThenAcross.
This mode is used to output strings logically from left to right on the Data band. Strings
are output one string to one column. When all columns on the Data band have been
generated a new Data band will be formed and again all strings in columns will be
output. The data will take up as much space in the report as is necessary.
© 2003-2019 Stimulsoft
Report Internals 567
Example
In this example we will build a report with three columns on the Data band. Put two
bands on a page: A ColumnHeader band and a Data band. On the Data band set the
Column property to 3 (this will create three columns). Set the column width using the
ColumnWidth property, and the space between columns using the ColumnGaps
property. Set the ColumnDirection property of the Data band to AcrossThenDown
mode.
Place text components on the ColumnHeader band to represent the Column titles.
© 2003-2019 Stimulsoft
568 Stimulsoft Reports and Dashboards User Manual
Note: Column edges are indicated with red vertical lines. All components which are
placed on the first column will be automatically repeated in the other columns.
Now run the report. It is very easy to see the direction of data output.
The AcrossThenDown mode has a weakness in that it is not always easy to read
information on the page because the content is output from left to right and then down.
It is often easier to read when columns are output using the DownThenAcross mode. In
© 2003-2019 Stimulsoft
Report Internals 569
this mode the data is displayed in the first column and only when that is full is data
shown in the second, and so on.
When using the DownThenAcross mode, the report generator tries to distribute data
rows evenly across the columns. When all data rows have distributed between the
columns the first column is output. Because the data is evenly distributed the first
column may not reach the bottom of a page - the data will take as much space on a
page as is required, and it will be represented in convenient readable form (unlike the
AcrossThenDown mode).
© 2003-2019 Stimulsoft
570 Stimulsoft Reports and Dashboards User Manual
Example
In this example we will build a report with columns in DownThenAcross mode. Put
two bands on a page: A ColumnHeader band and a Data band. On the Data band set
the Column property to 3 (this will create three columns). Set the column width using
the ColumnWidth property, and the space between columns using the ColumnGaps
property. Set the ColumnDirection property of the Data band to DownThenAcross
mode.
Place text components on the ColumnHeader band to represent the Column titles.
Note: Column edges are indicated with red vertical lines. All components which are
placed on the first column will be automatically repeated in the other columns.
Now run the report. The report generator tried to distribute evenly all data rows
between all three columns - using our sample data there are 31 rows in the first
column, 31 in the second one, and 29 in the third. All information is readable top-down
and from left to right.
© 2003-2019 Stimulsoft
Report Internals 571
When using the Down Then Across column mode a situation could arise where there
are too few rows are available to output evenly in a report. In some cases may be
necessary not to distribute data rows equally across all columns for better visualization.
© 2003-2019 Stimulsoft
572 Stimulsoft Reports and Dashboards User Manual
The MinRowsInColumn property of the Data band can be used to define the
minimum permitted number of rows in the first column. By default the value of this
property is set to 0 which means that there is no minimum number of data rows. If the
value of this property is higher than 0 then no less than specified number of rows will
be output in the first column. In the example below the MinRowsInColumn property
has been set to 5:
The Header band is normally used to output data headers, but there is also a special
Column Header band. The Header band is output once before the Data band and
contains only one set of data. The Column Header band is also output only once, but
the components on this band are repeated above every column. It is used only for the
columns positioned on the Data band.
Notice: The Column Header band is used for columns placed on the Data band. The
Header band for page columns has the same functionality.
© 2003-2019 Stimulsoft
Report Internals 573
Example
In this example we will build a report using a Column Header band. Put two bands on
a page: A Column Header band and a Data band. On the Data band set the Column
property to 3 (this will create three columns). Set the column width using the
ColumnWidth property, and the space between columns using the ColumnGaps
property. Set the ColumnDirection property of the Data band to the
DownThenAcross mode.
Place a text component on the Column Header band with the text 'Header'. Then put a
text component on the Data band with the text 'DATA'. Do not forget that the red lines
are the column edges.
Now run the report and you will see that the word "Header" is shown over every
column. You need only create a single column header and it will be automatically
printed on each column.
© 2003-2019 Stimulsoft
574 Stimulsoft Reports and Dashboards User Manual
Ugly output can result if the number of data rows is less than number of columns
resulting in gaps on the page because the same number of column headers will be
output as the number of columns. If there is data sufficient for two columns then only
two headers will be output.
If you want to ensure that the same number of column headers are shown as the
number of columns on a page without considering the number of strings available you
can use the PrintIfEmpty property of the Column Header band. If you set this
property to true, then one header will be output for each column regardless of the
amount of available data.
The Footer band is normally used to output data footers, but there is also a special
Column Footer band. The Footer band is output once after the Data band and contains
only one set of data. The Column Footer band is also output only once, but the
components on this band are repeated beneath every column. It is used only for the
columns positioned on the Data band.
Notice: The ColumnFooter band is used for columns placed on the Data band. The
Footer band for page columns has the same functionality.
Example
In this example we will build a report using a Column Footer band. Put two bands on a
page: A Column Footer band and a Data band. On the Data band set the Column
property to 3 (this will create three columns). Set the column width using the
© 2003-2019 Stimulsoft
Report Internals 575
ColumnWidth property, and the space between columns using the ColumnGaps
property. Set the ColumnDirection property of the Data band to DownThenAcross
mode.
Place a text component on the Column Footer band with the text 'Footer'. Then put a
text component on the Data band with the text 'DATA'. . Do not forget that the red lines
are the column edges.
Now run the report and you will see that the word "Footer" is shown under every
column. You need only create a single column footer and it will be automatically
printed on each column.
If you want to ensure that the same number of column footers are shown as the
number of columns on a page without considering the number of strings available you
can use the PrintIfEmpty property of the Column Footer band. If you set this
property to true, then one footer will be output for each column regardless of the
amount of available data.
© 2003-2019 Stimulsoft
576 Stimulsoft Reports and Dashboards User Manual
exact number of rows. Therefore, when using the MinRowsInColumn property, set
the PrintIfEmpty property to true.
When outputting headers and footers for columns on a page it is very important to
consider what the order in which the bands will be output on the page.
To see this in action create a report using multiple Header bands, Footer bands,
Column Header bands, Column Footer bands and j ust one Data band at a random
order.
There are two modes used to output columns which will affect the output, and these
will be reviewed in the following topics.
© 2003-2019 Stimulsoft
Report Internals 577
In the AcrossThenDown mode all header bands are output in order of their position in
the report template. In our example as shown below the Header1 band will be output
first, then the ColumnHeader1 band will be output three times over the every column.
Next the Header2 band is output, and then ColumnHeader2 band over the every
column. Bands are output in order of their position on a page. This allows you to
combine both types of header band to get the result you want. Footer bands are output
differently. The Column Footers are output first. Then the Footer bands are output after
all data rows. However, if the PrintOnAllPages property of the Footer bands is set to
true, then the bands will be output in order of their position on a page. It is important
to remember that if the PrintOnAllPages property of the Footer band is set to false,
then this band will be output only after all data rows.
This mode is similar to the AcrossThenDown mode. All bands are output in the same
order as they are placed on a page. However, if the PrintOnAllPages property of the
Footer band is set to true, then all Footer bands are output in the same order as they
are placed on page. If the PrintOnAllPages property of the Footer band is set to false,
then only Column Footer bands are output and the Footer bands are ignored.
© 2003-2019 Stimulsoft
578 Stimulsoft Reports and Dashboards User Manual
NewPageBefore property
To break and insert a new page before a certain band you can use the
NewPageBefore property. If the property is set to false for the band, then the report
generator reaching this band will output it after the previous band without generating a
new page. The picture below shows the Footer band that is output immediately after
the DataBand:
© 2003-2019 Stimulsoft
Report Internals 579
If the NewPageBefore property is set to true, then the report generator at the time of
the rendering a certain band, will make a gap (so that the band will be output on a new
page), and on the previous page data output will be finished, despite the availability of
free space on the page. The picture below shows, the Footer band which the
NewPageBefore property is set to true:
© 2003-2019 Stimulsoft
580 Stimulsoft Reports and Dashboards User Manual
It is necessary to consider that the new page first displays all service bands (Page
Header Band, Page Footer Band, Header Band). Also, when rendering a new page, the
report generator will take into account the value of the following properties:Break if
Less Than and Skip First.
NewPageAfter property
Also, you can create a break and insert a page after a certain band. This can be done
with the NewPageAfter property. If this property is set to false for the band, then the
report generator when comes to render it will not do the gap, and immediately after it
the other bands will be built. The picture below shows, the Header band that is output
before the Data band:
If the NewPageAfter property is set to true, then the report generator will render the
band, which property will generate the new page. The next band, will be output on a
new page. The picture below shows, the Header band which the NewPageAfter
property is set to true:
© 2003-2019 Stimulsoft
Report Internals 581
At the time of break one can only insert not only new pages but new columns. This can
be done using the NewColumnBefore and New Column After properties. The logic
of inserting new columns is the same as for the pages.
NewColumnBefore
To break and insert a column before a certain band you can use the NewPageBefore
property. If the property is set to false for the band, then the report generator reaching
this band will output it after the previous band without generating a new column.
© 2003-2019 Stimulsoft
582 Stimulsoft Reports and Dashboards User Manual
In order to make the break, set the NewColumnBefore property to true. In this case,
the report generator at the time of rendering the band, will output a new column and
add it before this band. The picture below shows the Data band with
theNewColumnBefore property set to true.
© 2003-2019 Stimulsoft
Report Internals 583
In this case, it is necessary to consider that the new first column displays all service
bands (Page Header Band, Page Footer Band, Header Band). Also, the construction of a
new column, the report generator will take into account the value of the following
properties: Break if Less Than and Skip First.
NewColumnAfter property
Also, you may need to make a break and insert a new column after a certain band. This
can be done with the New Column After property. If the NewColumnAfter property
is set to false, then all the bands will be displayed one after another.
In order to insert a new column the NewColumnAfter property should be set to true,
after rendering the band, the report generator output a new column after this band. The
picture below shows the Data band with the NewColumnAfter property set to true.
© 2003-2019 Stimulsoft
584 Stimulsoft Reports and Dashboards User Manual
The Break if Less Than property can be any number value from 0 to 100. The value of
this property affects where it will generate a new page or column. At the time of the
report creation, report generator measures the amount of free space on the page as a
percentage. If the entire page is empty, it is equivalent to 100 per cent, if the page is full
- 0 percent. It should be considered that by default the Break if Less Than property is
set to 0, which means that this option is disabled. Therefore, if the value of this property
is 0, the report writer compares the percentage of free space on the page with the
specified property value. As a result, the report generator will generate a new page or
column, if the free space on the page is less than a predetermined value. The property
value is a key value, i.e Break if Less Than property cannot be empty, it must take a
value.
The Skip First property works only with the NewPageBefore and
NewColumnBefore property. With this property, the first entry from the database will
be output on the page and then the page break will be executed, i.e. the first item will be
skipped. For this, the Skip First property should be set to true. If it is set to false, a
blank page (column) will be generated right after the band.
© 2003-2019 Stimulsoft
Report Internals 585
3.21 Pagination
{PageNumber}
{PageNofM}
{TotalPageCount}
Let see page numbering using the PageNumber system variable. When using this
variable, the page number will be displayed on each page. Place where the page
number is shown depends on which band is the text component, in expressions of what
the system variable is used.
On the picture above the PageNumber system variable was used on the Page
Header band. System variable can be used in any text component. The text component
can be placed on any page band.
© 2003-2019 Stimulsoft
586 Stimulsoft Reports and Dashboards User Manual
The TotalPageCount system variable is used to output the total number of pages.
On the picture above you can see how total number of pages is output. The
TotalPageCount system variable is used with the PageNumber system variable.
Usually it looks like this: {PageNumber} Of {TotalPageCount}. For example, 5 of 10.
In order to show the page number of the total number of pages in the report generator
the PageNofM system variable is used. This variable is a combination of system
variables, such as the PageNumber and the TotalPageCount, i.e. it will print the page
number on the total number of pages.
On the picture above the "Page 1 of 3" shows that the first page of three pages is
available. The PageNofM depends on localization so it should be used very carefully.
© 2003-2019 Stimulsoft
Report Internals 587
The numbering of the pages of the report begins with the number 1 and is defined
consistently for each page built by the report.
If, when report rendering, the ResetPageNumber is set to false, then numeration will
look like on the picture below:
© 2003-2019 Stimulsoft
588 Stimulsoft Reports and Dashboards User Manual
If the set the ResetPageNumber page property to true, then numeration for each
page of a template will start from 1:
© 2003-2019 Stimulsoft
Report Internals 589
© 2003-2019 Stimulsoft
590 Stimulsoft Reports and Dashboards User Manual
The picture above shows the first page of the report template.
The picture above shows the second page of the report template.
After rendering a report, even if the ResetPageNumber property of the page is set to
true, the numbering of pages of the rendered report is to be consistent.
© 2003-2019 Stimulsoft
Report Internals 591
In other words, if the ResetPageNumber property is set to true, then, when using the
system variables, mentioned above, the numeration will not be reset. So it will continue
to be consistent for each page of the rendered report.
If, when rendering a report, the component will not fit the entire page, it will be carried
to the next page. In addition, there are cases where the component has a size larger
than the page size and cannot be output entirely on a page. In this case, you can use
the CanBreak property. Components for which this property is set to true, can be
"broken" with the Report Engine. I.e. the first part of a component will be printed on one
page, and the second one on the next page. For example, a component of the Text has
10 lines, on the first page 7 lines will be output, and 3 lines on the next page.
© 2003-2019 Stimulsoft
592 Stimulsoft Reports and Dashboards User Manual
How to use the CanBreak property of bands. The picture below shows two pages of a
rendered report, which has 5 bands. The picture shows: the first and the second bands
are output on the first page. The third band could not fit the bottom of the first page, so
it was moved to the next page, along with the fourth and fifth bands.
In this case, free space available remained on the first page of the report, because the
band could not fit entirely and was moved to with the report engine to the next page. If
to set the CanBreak property to true, then this will be "broken. The picture below
shows how the of the third band is broken.
© 2003-2019 Stimulsoft
Report Internals 593
In this case we see that the third band could not fit, so it was broken: one part was left
on the first page, and the second was moved to the next page, respectively. So all the
space of the page was used. It should also take into account that the band may not fit
within a single page. If the CanBreak is set to false, then it will be moved to the next
page. If, on the next page, the band does not fit completely, it will be forcibly broken.
You should know that special bands are displayed on the first page, and the remaining
space of the page will be used to output the broken band. It is worth noting that the
band may be output on more than one page. There are no limitations on the number of
pages in which parts of the broken band can be output. By default, the CanBreak
property is set to false.
By default, the CanBreak property of the Text component is set to false. Such a Text
component will not be broken if it is not enough space to print on one page, and would
be moved to the next page.
© 2003-2019 Stimulsoft
594 Stimulsoft Reports and Dashboards User Manual
As seen on the picture above, free space left at the bottom of the first page. To avoid
this, set the CanBreak property to true. And then, a Text component is broken, for
example, as shown on a picture below:
© 2003-2019 Stimulsoft
Report Internals 595
In this case, a Text component could not fit entirely on the bottom of a page, so it was
broken. I.e. a part of the component remains on the same page, and another part was
moved to the next one. Note that the text component is broken by row. Small amount
of free space remains, as report generator must output the full height of a row and the
text remains readable. Also note that the break of the text component will not work if
the CanBreak property in a container, which has a text component, is set to false.
Because the container would be moved to the next page completely. Accordingly,
together with it, a text component will be transferred and the break will not work. So, if
you need a break, then set the CanBreak property to true for the Text component and
container to what the text component is placed.
Sometimes, in a report template, where the Panel is used, all data cannot fit one page.
If the CanBreak property is set to false, then a report, may look like on the picture
below.
© 2003-2019 Stimulsoft
596 Stimulsoft Reports and Dashboards User Manual
As shown in the picture above, the Panel was moved to another page, and free blank
space remained on the previous page. If the CanBreak property is set to true, then the
report may look like on the picture below:
As shown in the picture above, the Panel was broken, i.e. a part of it remained on the
first page, and the other was moved to the next page. It should also take into account
that the panel may not fit a single page. If to set the CanBreak property to false, then it
© 2003-2019 Stimulsoft
Report Internals 597
will be moved to the next page. If on the next page the panel does not fit completely, it
will be forcibly broken. You should know that special bands are displayed on the first
page, and the remaining space of the page will be used to output the broken panel. It is
worth noting that the panel may be output on more than one page. There are no
limitations on the number of pages in which parts of the broken panel can be output.
By default, the CanBreak property is set to false.
By default, the CanBreak property of the RichText component is set to false. Such a
text component will not be broken, if it is not enough space to print it on one page, and
would be moved to the next page.
As you can see on the picture above, on the free space remained at the bottom of the
first page. To avoid this, set the CanBreak property to true. And then, a component of
the RichText will be broken (see the picture below):
© 2003-2019 Stimulsoft
598 Stimulsoft Reports and Dashboards User Manual
As shown in the picture above, the RichText was broken, i.e. a part of it remained on
the first page, and the other was moved to the next page. It should also take into
account that the component may not fit a single page. You should know that the text
component is broken rowwise. Also note that the breaking of the text component will
not work if the CanBreak property of the band, in what the text component is placed, is
set to false, because the band will be moved entirely to the next page. So the text
component will be moved together with the band. So, if you need the text component
to be broken, then values of CanBreak properties for the text component and the band
should be set to true.
In some cases the Image does not fit one page. So the image will be moved to the next
page.
© 2003-2019 Stimulsoft
Report Internals 599
As you can see on the picture above, free space remained on the first page. To avoid
this, set the CanBreak property to true. And then, the Image component will be
broken, as seen on the picture below:
As shown in the picture above, the Image component was broken, i.e. a part of it
remained on the first page, and the other was moved to the next page. Also note that
the breaking of the Image component will not work if the CanBreak property of the
band, in what the Image component is placed, is set to false, because the band will be
moved entirely to the next page. So the Image component will be moved together with
the band. So, if you need the Image to be broken, then values of CanBreak properties
for the Image and the band should be set to true.
3.22.6 Auto-break
If a component of the report template is more than a page, then, when rendering a
report, the component does not fit a page. If the CanBreak property is set to true, then
the component will be broken into parts. If the CanBreak property is set to false, and
© 2003-2019 Stimulsoft
600 Stimulsoft Reports and Dashboards User Manual
the component is larger then the page of a report, the then report engine, tries to move
it to the second page. If the data do not fit the second page, they will be forcibly broken,
regardless of the value set for the CanBreak property and the availability of this
property for the component of the report template. Moreover, when forced breaking, a
blank page is output before the component. I.e. the first page of the report is empty,
and each time data output begins with a new page. In this case, also all special bands
are output on the page.
There is no possibility for the Page Header and PageFooter bands to change the
value of the CanBreak property, because it is always set to the one value. By default,
the CanBreak property is set to true. This means that, when designing a report, if sizes
of page bands is more than a page size, then bands will broken. You should also take
into account the value of the property of the component, located on the band page. If
the CanBreak property of a component placed on the band page is set to false, then in
that case, there will be auto-break. If the CanBreak property of a component placed on
the band page is set to true, then the break will be executed, depending on the type of a
component (text, panel, picture, Rich Text).
The Hierarchical band is used to display report data as a tree. The picture below shows
an example of a hierarchical report:
In order to obtain a structured list in a report as a tree, you must follow these steps:
© 2003-2019 Stimulsoft
Report Internals 601
Specify the DataSource for the Hierarchical band using, for example, the
DataSource property:
Set the KeyDataColumn, i.e. select the data column by what an identification
number of data rows will be assigned. For example, a EmployeeID data column;
Set the MasterKeyDataColumn, i.e. select the data column by which a reference
to the primary table key of the parent entry will be specified. For example, a
ReportsTo data column;
Set the Indent, i.e. specify the indent distance of the child entry relative to the
parent entry. For example, the Indent value will be equal to 20 units of a report
(centimeters, inches, one hundredth inches, pixels);
Set the ParentValue, i.e. specify an entry that will be a parent for all rows. For
example, set the ParentValue property to 2.
The Hierarchical band has the KeyDataColumn property. This property is required
for filling. If the KeyDataColumn is not specified, the report generator will not be able
to render a report. The value of this property can be any data column from the selected
Hierarchical band of the data source, which entries will be keys for creating a report.
For example, if the Employees data source is specified to the Hierarchical band, then
the value of the KeyDataColumn property is the EmployeesID data column, because
the entry of this column is the key and contains unique codes of employees.
© 2003-2019 Stimulsoft
602 Stimulsoft Reports and Dashboards User Manual
In order to represent an hierarchy in the report, you must specify the value of the
MasterKeyDataColumn property. This property is required for filling. If the value of
the MasterKeyDataColumn is not specified, the report generator cannot determine
the hierarchy in the report. The value of this property will be a data column from the
selected Hierarchical band of the data source, which entries are the master key for
creating an hierarchy in the report. For example, if the Employees data source is
specified for the Hierarchical band, then the MasterKeyDataColumn property is the
ReportsTo column data. The values of this data column are used to specify to what this
element in the table is subordinated. Usually, this column indicates the keys in the data
column, which is a value of the KeyDataColumn property. The picture below shows
the scheme of an hierarchy of the ReportsTo data column:
The ParentValue property is used to identify entries which will be the parent rows for
the remaining rows in a report. Parent rows are rows which are placed on the top level
of hierarchy and in which all other elements are included. The report must have at least
one parent line, if the parent line is missing, the report cannot be rendered. The
ParentValue property can take any value, which is an entry in the data column, which
is listed as the MasterKeyDataColumn. For example, if the MasterKeyDataColumn
property is the ReportsTo data column, then the value of the ParentValue property
will be entries in this column. The picture below shows an example of the EmployeeID,
LastName, City, Region, ReportsTo data columns of the Employees data source:
© 2003-2019 Stimulsoft
Report Internals 603
As can be seen in the ReportsTo data column the following entries are: (null), 2 and 5,
i.e. any of these entries may be the value of the Parent Value property. If the value of
this property is not specified, or is specified as a "space", then the default value is used.
By default, the value of the Parent Value property is set to null, i.e. the parent row for
all rows will be a line where there is a (null) entry in the ReportsTo data column. In
this case, this is a row with the ID 2. The picture below shows an example of a rendered
report:
If the value of the Parent Value property is set to 2, then the parent row for all rows
will be a row where there is a 2 entry in the ReportsTo column data. In this case, these
are rows with ID 1,3,4,5,8. The picture below shows an example of a report, where the
value of the Parent Value property is set to the 2 value:
© 2003-2019 Stimulsoft
604 Stimulsoft Reports and Dashboards User Manual
In order to visualize the hierarchy of a report you need to change a value of the Indent
property. The value of the Indent property is the distance at which an entry in the
hierarchy, relative to the previous level of the tree, will be moved. If the Indent
property is set to 0, then the indent will not be performing. The picture below shows an
example of a rendered hierarchical report with the indent of 0:
If the Indent property is set to any value greater than 0, for example 10, the shifting
will be on 10 units of a report (centimeters, inches, one hundredth of inch, pixels). The
picture below shows an example of a rendered hierarchical report with the indent of 10
units in the report:
© 2003-2019 Stimulsoft
Report Internals 605
If you want a text component, which is located in the Hierarchical band, do not move,
you should change the value of the Locked property of this text component. If the
Locked property is set to true, then the text component will not be shifted. If the
Locked property is set to false, then the text component will be shifted. The picture
below shows an example of a rendered hierarchical report:
As can be seen on the picture above, the Locked property of the Employee text
component is set to false, so the entries were shifted. And for the City and Region text
components, this property is set to true, so the entries were not shifted.
Important: The parent entry is not shifted. Only subordinate entries are shifted: the
lower the priority is, the further is shifting, relative to the parent entry.
© 2003-2019 Stimulsoft
606 Stimulsoft Reports and Dashboards User Manual
The Child band can be used in tandem with other bands. It can be placed after any
band on a page, including after the Header band or the Group Header band. It allows
the parent band to be effectively extended whilst the child can behave differently, for
example having a different background color.
Note: The Child band can be used in combination with any other bands placed on a
page.
When you run the report the Child band will be printed as many times as the Data
band. In other words the Child band acts as a continuation of the Data band but is still
a band in its own right possessing all properties available with other bands.
© 2003-2019 Stimulsoft
Report Internals 607
The Child band is a band that is a continuation of the band, after which it is placed.
In the picture above shows the Child band is placed after the Report Title band,
respectively, it is a continuation of this Report Title band. There are no limitations on
© 2003-2019 Stimulsoft
608 Stimulsoft Reports and Dashboards User Manual
The picture above shows two Child band, which are a continuation of the Report Title
band. Suppose there is a report with the report title that consists of a few lines. If the
text is placed on the Report Title band, then visually it may look not entirely correct:
Even when using the GrowToHeight property, then visually it cannot be convenient:
Therefore, in some cases, the title of the report is better represent with the Child band:
© 2003-2019 Stimulsoft
Report Internals 609
The picture below shows the report title located in the ReportTitle band and two Child
band.
How to output two bands on one data row? You can use the Child band. Create a new
report. Put the Data band on a page. Put the Child band under the Data band.
Run a report for execution. As you can see, the Child band was printed as many times
as the Data band. I.e. the Child band is a continuation of the Data band. But at the
same time it remained to be a band, with all its properties.
The Child band can be used not only with the Data band. It can be placed after any
band on a page. For example, after the Header band or after the Group Header band.
© 2003-2019 Stimulsoft
610 Stimulsoft Reports and Dashboards User Manual
For example, add the Child band to the Data band, as the result a data row and an
empty row (Child band row) is output, visually it looks like a high line.
© 2003-2019 Stimulsoft
Report Internals 611
The Empty Data band is used to fill free space on the bottom of a page with additional
empty data rows formatted to match the displayed data. This example shows a page
without an Empty Data band:
Adding an Empty Data band to the same page changes the look of the empty part of
the page to match the formatting of the rest of the data.
Example
Create a new report with borders around the text items on the data band. Then drop an
Empty Data band after the Data band. If there is more than oneData band on the page
then you should place the Empty Data band after the last Data band, but before any
footer bands.
Note: To output Footer bands on the bottom of a page set the PrintAtBottom
property of each Footer band to true.
© 2003-2019 Stimulsoft
612 Stimulsoft Reports and Dashboards User Manual
Then add text obj ects to the empty band to match those on the Data band. The result
should look something like this:
If you then run the report you will see that the empty space is replaced with formatted
empty data rows:
The Empty band has only one special property - SizeMode. This property indicates the behavior of the
Empty Band on the bottom of a page. There are 4 values of the property: IncreaseLastRow,
DecreaseLastRow, AlignFooterToBottom, AlignFooterToTop.
© 2003-2019 Stimulsoft
Report Internals 613
The IncreaseLastRow indicates that if, when filling the page by an Empty band, there is a free space
to partially output an Empty Band, then it is possible to increase the last row. The picture below shows
this.
DecreaseLastRow. The last row of the Empty Band will be decreased by height. The
picture below shows this.
AlignFooterToBottom. If there is no free space for the Empty band then this band
is not output. The picture below shows this.
© 2003-2019 Stimulsoft
614 Stimulsoft Reports and Dashboards User Manual
AlignFooterToTop. (this is the default value of the SizeMode property). The Footer
Bands will be output on the bottom (the PrintAtBottom = true) and moved to top to
fill the free space of the Empty Band. The picture below shows this.
3.26 Watermarks
© 2003-2019 Stimulsoft
Report Internals 615
The Watermark property allows user to output one image and one inscription on the
background or foreground. The Watermark property has sub-properties to output
watermarks.
Properties Description
Text A text that is used to output a watermark
Text Brush A brush to output a watermark
Font A font that is used to output a watermark
© 2003-2019 Stimulsoft
616 Stimulsoft Reports and Dashboards User Manual
Properties Description
Image An image to output
Also there is another Enabled property. This property enables or disables watermark
© 2003-2019 Stimulsoft
Report Internals 617
output.
The Overlay band is used to output text, images, primitives and other data.
The Overlay band is placed on the top of all other bands. The Watermark, for example,
is placed in the foreground or in the background. The advantage of the Overlay band
over Watermark is that it is not a page element but a band which has properties of
bands.
Watermark is either printed on all pages or not printed. The Overlay band band
allows selecting 7 ways of printing. In Watermark, for the same operation script
should be printed.
Top. The Overlay band will be output on the top of a rendered report before the
page header and the page header.
© 2003-2019 Stimulsoft
618 Stimulsoft Reports and Dashboards User Manual
Center. The Overlay band will be output on the center of a rendered report and in
front of data placed on the page.
Bottom. The Overlay band will be output on the bottom of a page of a report and
© 2003-2019 Stimulsoft
Report Internals 619
One of the options for placement of the "watermark" inscription is a direct placement
on the page. This means that the direct placement of any component, which will be the
"watermark" inscription on a page of a report template.
The picture above shows the "watermark" by means of the direct placement a text
component on a template of a page.
Direct placement on a page allows showing an inscription on the background but at
© 2003-2019 Stimulsoft
620 Stimulsoft Reports and Dashboards User Manual
3.27 Panels
Panel is a rectangular region that may contain other components including bands. If to
move a panel then all components in it are moved too. The panel can be placed both on
a band and on a page. This gives unique abilities in report creation.
© 2003-2019 Stimulsoft
Report Internals 621
A panel can be placed on a page, on a band, and on another panel. Almost all
components of a report can be paced on a panel. But not all bands can be placed on a
panel. A table below shows which bands can placed.
Report Title No
Report Summary No
Page Header No
Page Footer No
Group Header Yes
Group Footer Yes
Data Yes
Hierarchical Data Yes
Child Yes
Header Yes
Footer Yes
As seen, report bands and page bands cannot be placed on a report. All other bands can
be placed on a panel.
There are three ways of placing panels: on a page, on a band and in another panel. The
below topics describes all these variants.
© 2003-2019 Stimulsoft
622 Stimulsoft Reports and Dashboards User Manual
allowed placing some small pages with bands and components on one page. So it is
possible to render a lot of complex reports.
The second way is when the panel in placed on a band. This variant is used both for
grouping simple components on a panel and to output bands on a band. This allows
rendering very complex reports. But it is important to know that the report template
can be difficult in "reading".
The third way – when a panel is placed on another panel. This variant is combination of
two previous ones. It is very important to know that panels insertion should be used
© 2003-2019 Stimulsoft
Report Internals 623
very carefully. Number of insertions in unlimited but such report will not have good
look.
Side-by-side report is a report in what containers can help to speed up report creation.
Two lists of rows are output simultaneously in this report. Both lists are independent
from each other. Usually it is necessary to use the Sub report component to create
such a report. But it is much easier to create a report with panels.
© 2003-2019 Stimulsoft
624 Stimulsoft Reports and Dashboards User Manual
How to build a Side-by-Side report. Put two containers on a page. Set the DockStyle
property of one component to Left. Set the DockStyle property of the second
component to Right. Docking component is necessary to take all space on a page by
the height. In cases it should not be done. Leave some space between lists to separate
them. Put two bands on the first panel: the Header band and the Data band. The first
list will output using these bands. Do the same in the second container. As a result two
lists will be output on one page simultaneously.
© 2003-2019 Stimulsoft
Report Internals 625
© 2003-2019 Stimulsoft
626 Stimulsoft Reports and Dashboards User Manual
3.27.5 Cloning
The unique Clone component is included into Stimulsoft Reports. This component is
used to clone parts of a report into a required part of a report. Cloning can be used only
in panels.
Notice: The Clone component can work with the Panel component.
How it works? Put a panel on a page. Put bands to output lists. Place a panel on the left
part of a page. Place a Clone component on the right side of a page. Then, in the Clone
component designer, indicate the panel that should be cloned. In our case it is the panel
that was created on a page.
© 2003-2019 Stimulsoft
Report Internals 627
Run a report. The panel will be rendered first. The list will be output on the left side of a
page. Then the list will be continued to output on the place where the Clone
component is placed. The Clone component clones all bands of the panel. Using the
Clone component it is possible to render complex reports with columns. The first
column is output using the panel and other columns - using the Clone component. It is
important to consider the order of placing Clone components on a page.
Notice: Panel components and their clones will output in order of placing
components on a page.
3.28 Cross-Tab
The Cross table is a special component that is used to process, group and summarize
data from the data source. The result is represented as a table. The Cross table can be
placed both directly on a page or on a Data band. If a table that is created as a result of
a cross table rendering does not fit in the one page, then can be printed on some
pages. The component has many properties and settings.
© 2003-2019 Stimulsoft
628 Stimulsoft Reports and Dashboards User Manual
Data are the base for cross table rendering. So the cross table rendering should be
started from selecting the data source. The data source can be selected using the Data
source.
It is necessary to specify the data source that will be used. There are several ways how
to do this. The first way. You may use either the DataSource property or the Table
editor.
A data source can be selected by clicking the first tab of the Data band editor. All data
sources are grouped in categories. Each category corresponds to one connection with
data in the report data dictionary.
The second way. The data source can be selected using the cross table editor. It can be
called by double click on the cross table.
© 2003-2019 Stimulsoft
Report Internals 629
After selecting the data source you need to specify the following items: columns, rows,
and cells for summation.
3.28.2.1 Columns
On a picture below you may see how the columns are positioned on a table.
© 2003-2019 Stimulsoft
630 Stimulsoft Reports and Dashboards User Manual
It is allowed to specify one or several columns at once. For example, in cross table only
one column is specified:
© 2003-2019 Stimulsoft
Report Internals 631
Grouping is output by values of two columns. Values of the first column are output first.
Then the value from the second column is output:
3.28.2.2 Rows
On a picture below you may see how the rows are positioned on a table.
© 2003-2019 Stimulsoft
632 Stimulsoft Reports and Dashboards User Manual
Get the result shown on a picture below. All values of the specified row are represented
in one level.
© 2003-2019 Stimulsoft
Report Internals 633
© 2003-2019 Stimulsoft
634 Stimulsoft Reports and Dashboards User Manual
In a cross table you may not specify columns or rows. For example, if columns are not
specified, then grouping will be done by rows. For some reports this property is very
important for a cross table. The picture below shows one those reports:
Summary cells are the elements of a cross table, which set rules for cells formatting on
intersection of columns and rows of a summary cell. On a picture below the structure of
a simplest cross table is represented.
© 2003-2019 Stimulsoft
Report Internals 635
In a summary cell all values from the data source which are suitable for a particular
condition are grouped. The condition is the coincidence of the value of the column and
the row from a data source with the value of the column and row of a cross-table. The
value of a cross table column and a row is indicated by intersection where the summary
cell is placed. For example, see a simple cross table on a picture below:
© 2003-2019 Stimulsoft
636 Stimulsoft Reports and Dashboards User Manual
The red rectangle indicates the summary cell with the 140 values and also a column
and a row of this cell. In this cell all values from the data source which CategoryName
column is equal to Confection and Country row is equal to Germany were grouped. The
rules of grouping are set using the Summary property of a summary cell.
If more than one summary cell is set in a Cross table then it is possible to define the
direction of placing of these cells. The reporting tool can place them horizontally from
left to right or vertically from top to bottom. On a picture below a table with
horizontally placed summary cells is shown.
© 2003-2019 Stimulsoft
Report Internals 637
When you create or edit the Cross-Tab component, a special editor will be called when
editing the component. The editor tabs - Data, Cross-Tab, Styles - contain the
configuration settings of the Cross-Tab component. In addition, the settings and
parameters are grouped on each tab.
© 2003-2019 Stimulsoft
638 Stimulsoft Reports and Dashboards User Manual
The New Data Source button. Calls the window to create a new data source.
The New Business Object button. Calls the window to create a new Business Obj ect.
In this field you can find settings and parameters. The picture above shows the
selected group Data Source. The filed shows all available data sources. Select the data
source that will be used when creating the cross-tab.
The list of parameters and settings for the active tab.
As seen from the picture above, in the Data tab, and all settings are divided into the
© 2003-2019 Stimulsoft
Report Internals 639
following groups:
Data Source
In this group, you can select the data source for the cross-tab. In addition, there are
buttons to create a new data source and new Business Obj ect.
Relation
In this group, you can set the relation between the selected sources. There is also a new
button New Relation, when clicked, it calls the create new relation window.
Sort
In this group, you can set the sorting parameters. You need to set the data column by
which sorting will be done and the direction of sorting.
Filters
In this group, filtering parameters are determined. A new filter is added and filtering
criteria through the expression or value is specified.
The Cross-Tab tab defines the structure of the Cross-Tab component. It specifies the
data column for the rows, columns, total cells:
© 2003-2019 Stimulsoft
640 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 641
© 2003-2019 Stimulsoft
642 Stimulsoft Reports and Dashboards User Manual
to call the style designer and create a new one. In order to select the style you need, you
simply select it. In this case the preview pane will show the structure of a cross-tab with
the style preview.
The Preview panel. A red box around the cell indicates that the cell is selected.
When rendering a cross-table, the report generator should know how the values in the
summary cells will be summarize. Summation function is set using the Summary
property of a summary cell. For each summary cell its own function can be specified. A
Cross Table works with the following functions:
Function Description
None Do not summarize the cell values
Sum Returns the sum of values that are contained in the cell
Average Returns the average of values that are contained in the
cell
Min Returns the minimal of values that are contained in the
cell
Max Returns the maximal of values that are contained in
the cell
Count Returns the number of values that are contained in the
cell
CountDistinct Returns the number of distinct values that are
contained in the cell
Image A cross table will show the first value as an image
In addition to the Summary property, there is another property that affects on the
summary. This is the Summary Values property. This property identifies and process
the 0 and null values when calculating totals.
The values of the source data that are used to group rows and columns are always re-
© 2003-2019 Stimulsoft
Report Internals 643
sorted with the component of a cross-table. Resorting is necessary in order that, when
showing a cross-table, rows and columns do not contain duplicates. But this behavior
can be changed. The type sorting is specified using two properties: SortDirection and
SortType. These properties are available for columns and rows of a cross-table.
Using the SortDirection property it is possible to set the direction of sorting. Sorting
can be in ascending order, descending, or no sorting. The SortType property sets the
source of values for sorting: by value or by the displayed value. The picture below
shows a table, sorted in two different directions.
3.28.6 Conditions
Often, when rendering a cross table, it is necessary that, according to certain conditions,
the appearance of a cell will be changed. To achieve this, you can use the Conditions
property of columns, rows and, summary cells.
In order to specify the condition, it is necessary to select a component for what this
condition will be executed and call the Conditions editor from the properties panel or
from the toolbars.
© 2003-2019 Stimulsoft
644 Stimulsoft Reports and Dashboards User Manual
For example, we need to mark summary cells which values are less than 20.
Add a new conditional formatting for the cell. Make three changes in the condition (see
picture below).
Change the value of the Field Is field on the Expression (marked with blue). Specify the
required expression (marked with red):
value <20
The value variable contains the total value of the summary cell. And change the text
color of cells to red (marked with green). An example of report rendering is shown on
the picture below.
© 2003-2019 Stimulsoft
Report Internals 645
Rows and Columns of a cross-table have the ShowTotal property, which allows you
to show or hide totals by rows and columns. If this property for Rows and Columns is
set to true, then the totals by rows and columns are visually displayed. The picture
below shows an example of a cross-table with a visually displayed results:
© 2003-2019 Stimulsoft
646 Stimulsoft Reports and Dashboards User Manual
If, for example, the ShowTotal property is set to false for rows, then the total by rows
will not be displayed. The picture below shows an example of a cross-table, where the
ShowTotal property of rows is set to false:
If, for example, the ShowTotal property for columns is set to false, then total by
columns will not be displayed. The picture below shows an example of a cross-table,
where the ShowTotal property of columns is set to false:
© 2003-2019 Stimulsoft
Report Internals 647
By default, the ShowTotal property for rows and columns is set to true, i.e. totals by
rows and columns are displayed.
The Cross-Tab has the SummaryValues property, which allows you to display the
total number of values of the cross-table, considering or not considering to 0 and/or
null values. The SummaryValues property can take three values, depending on the
value of the property, the number of values will be displayed as a result. Values of the
SummaryValues property and their description are described in the table below:
Function Description
Each component of the cross-table has the WordWrap property, which lets you wrap
text from one line to another. If the WordWrap property is set to false, then the text is
in one line, and if it does not fit in one line it will be cut. The picture below shows an
© 2003-2019 Stimulsoft
648 Stimulsoft Reports and Dashboards User Manual
If the WordWrap property is set to true, then text wrapping goes automatically. When
wrapping a text on the new line the vertical and horizontal alignment are taken into the
account. The picture below shows an example of a cross-table that has the WordWrap
property set to true:
3.29 Charts
Column Area
Data that is arranged in columns or rows. Column charts are useful for showing data
changes over a period of time or for illustrating comparisons among items:
Clustered Column
Clustered column charts compare values across categories.
© 2003-2019 Stimulsoft
Report Internals 649
Stacked Column
Stacked column charts show the relationship of individual items to the whole,
comparing the contribution of each value to a total across categories.
Full-Stacked Column
Full-Stacked column allows comparing the percentage of each value.
Bar Area
Data that is arranged in columns or rows on a worksheet can be plotted in a bar chart.
Bar charts illustrate comparisons among individual items. Bar Area should be used if:
Ticks are long.
If a values show duration.
© 2003-2019 Stimulsoft
650 Stimulsoft Reports and Dashboards User Manual
Clustered Bar
Clustered bar charts compares values across categories. In a clustered bar chart, the
categories are typically organized along the vertical axis, and the values along the
horizontal axis.
Stacked Bar
Stacked bar charts show the relationship of individual items to the whole.
Full-Stacked Bar
This type of charts allows comparing percentage of each value with the total inside the
category.
© 2003-2019 Stimulsoft
Report Internals 651
Pie Area
Data that is arranged in one column or row only on a worksheet can be plotted in a pie
chart. In a pie chart, the arc length of each sector, is proportional to the quantity it
represents. Together, the sectors create a full disk.
Pie charts should be used if:
It is required to show one row of data;
All values are positive and greater than 0;
A values belongs to no more than 7 categories;
Categories corresponds to some parts of the whole chart disk.
Pie
Pie charts display the contribution of each value to a total. It is possible to manually pull
out the slices of a pie chart to emphasize them.
Doughnut
A doughnut chart is functionally similar to a pie chart, with the exception of a blank
center and the ability to support multiple statistics as one.
Line Area
Data that is arranged in columns or rows on a worksheet can be plotted in a line chart.
Line charts can display continuous data over time, set against a common scale, and are
therefore ideal for showing trends in data at equal intervals.
© 2003-2019 Stimulsoft
652 Stimulsoft Reports and Dashboards User Manual
Line
Line and line with markers are used to indicate individual data values, line charts are
useful to show trends over time or ordered categories, especially when there are many
data points and the order in which they are presented is important.
Stepped Line
Stacked Line
Displayed with or without markers to indicate individual data values, stacked line charts
are useful to show the trend of the contribution of each value over time or ordered
categories. If there are many categories or the values are approximate, you should use a
stacked line chart without markers.
© 2003-2019 Stimulsoft
Report Internals 653
Full-Stacked Line
Spline Area
Spline
Stacked Spline
Full-Stacked Spline
© 2003-2019 Stimulsoft
654 Stimulsoft Reports and Dashboards User Manual
Area
Data that is arranged in columns or rows on a worksheet can be plotted in an area
chart. Area charts illustrate changes depending on time period and can be used to
attract attention to summary value in compliance with trend. For example, data which
shows profit depending on time can be created in Area charts to attract attention to
total profit.
Area
Area charts display the trend of values over time or categories.
Stepped Area
© 2003-2019 Stimulsoft
Report Internals 655
Stacked Area
Stacked area charts display the trend of the contribution of each value over time or
categories.
Full-Stacked Area
Full-Stacked Area charts display the trend of the percentage each value contributes
over time or categories.
Spline Area
Spline Area
© 2003-2019 Stimulsoft
656 Stimulsoft Reports and Dashboards User Manual
Range
The chart type Range can be used to display the interval of values per unit of time or
period of time. To build such a diagram you should have start and end values.
Range
Stepped Range
© 2003-2019 Stimulsoft
Report Internals 657
Gantt Area
A Gantt chart is a type of bar chart that illustrates a proj ect schedule.
Gantt
Gantt charts illustrate the start and finish dates of the terminal elements and summary
elements of a proj ect.
Scatter Area
Data that is arranged in columns and rows on a worksheet can be plotted in an xy
(scatter) chart. Scatter charts show the relationships among the numeric values in
several data series, or plots two groups of numbers as one series of xy coordinates.
A scatter chart has two value axes, showing one set of numerical data along the
horizontal axis (x-axis) and another along the vertical axis (y-axis). It combines these
values into single data points and displays them in uneven intervals, or clusters. Scatter
charts are commonly used for displaying and comparing numeric values, such as
scientific, statistical, and engineering data.
Scatter charts should be used if:
It is required to change the scale of the horizontal axis;
Values for horizontal axis are not evenly spaced;
There are many data points on the horizontal axis;
© 2003-2019 Stimulsoft
658 Stimulsoft Reports and Dashboards User Manual
Scatter
This type of chart compares pairs of values. Use a scatter chart without lines when you
have data in a specific order.
Scatter Line
This type of chart can be displayed with or without straight connecting lines between
data points. These lines can be displayed with or without markers.
Scatter Spline
This type of chart can be displayed with or without a smooth curve connecting the data
points. These lines can be displayed with or without markers. Use the scatter chart
without markers if there are many data points.
© 2003-2019 Stimulsoft
Report Internals 659
When you add the component Chart in the report template, the chart editor is called. This editor is
used to create the chart: defining the types of rows, data sources, styles, and other settings. A chart can
be created using the wizard or manually. Below is a diagram editor.
© 2003-2019 Stimulsoft
660 Stimulsoft Reports and Dashboards User Manual
As can be seen from the picture above, the chart editor contains the following tabs:
Chart. Defined the Chart type;
Series. Defines the parameters of the series;
Area. Sets areas with axes;
© 2003-2019 Stimulsoft
Report Internals 661
The tab Chart defines the parameters relating to the diagrams. These parameters are grouped
depending on the selected group on the property panel.
The Preview window. This panel displays the chart and immediately previews changes made in real
time.
All chart parameters are grouped. A list of these groups is represented on this panel. When a group
© 2003-2019 Stimulsoft
662 Stimulsoft Reports and Dashboards User Manual
is selected, the Properties panel will display the parameters of the selected group:
The group Common. Contains common settings such as a data source for the chart, the vertical/
horizontal alignment, rotation angle and others.
The group Legend. Contains settings for the legend such as enabling/disabling it, alignment
options, direction, etc.
The group Title. Contains settings for the title of the chart such as text, alignment options, etc.
The group Constant Line. Contains settings for constant lines. Moreover, in this parameter
group involves adding a constant line in the chart.
The group Strips. Contains settings to control strips in charts. You can add a new strip here.
The group Table. Contains settings to display values as a table.
It should be noted that in some groups you can add elements to the chart. In this tab, this note
concerns groups Constant Lines and Strips.
© 2003-2019 Stimulsoft
Report Internals 663
Series of the chart component are the main element of the diagram. Series are important to visualize
data. It should be understood that construction is not possible without series of the diagram.
© 2003-2019 Stimulsoft
664 Stimulsoft Reports and Dashboards User Manual
The toolbar contains the basic commands to control the chart series: adding series, deleting the
selected one, moving the selected series in the list.
NOTICE: If the chart type is defined on the Chart tab, in the menu of adding rows, only series of this
type will only be available, and those that can interact with the type of a chart. If the chart type is not
specified, the type of a chart will depend on the selected series.
The list of chart series. As can be seen from the picture, this chart contains three rows.
The preview panel. This panel displays the chart and immediately previews changes made in real
time.
The list of group of parameters of the tab Series:
The group Common. You can find settings for the selected series. Among them are data source,
data, etc.
The group Conditions. Here you can set parameters for the selected series.
The group Filter. Parameters of filtering of the selected series can be set here.
The group Interaction. Here you can setup interaction of the series.
The group TopN. In this group you can set maximum or minimum values .
The group Series Labels. This group of parameters are used to define position, rotation for
series labels etc.
Information: Various displaying modes of series labels can be applied in the chart series - Show
Series Labels: From Series and Show Series Labels: From Chart. The mode is defined in the tab
Labels in the group of properties Series Labels.
If the mode Show Series Labels: From Series is enabled, then on the tab Series, the group
Series Labels you should define the type of labels. In this mode, you can specify a particular type
of labels for each series.
If the mode Show Series Labels: From Chart is enabled then the type of series labels will be
the same as selected in the tab Labels. For example, you have a chart with 10 series in it and
labels should have the same style, i.e. be of the same type. In this case, on the tab Labels, you can
define the type and in settings of each series you can specify the mode Labels From Chart.
The Area is a space that includes the basic chart items: rendered data series, axes, chart title and
legend. The management of this space is carried out on the tab Area, in the editor Diagram.
© 2003-2019 Stimulsoft
Report Internals 665
The panel Preview. This panel displays the chart and immediately previews changes made in real
time.
The list of parameters groups in the tab Area:
The group Common. The group contains settings such as rotation, horizontal, vertical display,
border color etc.
The group X Axis. The group contains settings for the X axis.
The group Y Axis. The group contains settings for the Y axis.
The group X Top Axis. The group contains settings for the X top axis .
The group Right Y-Axis. The group contains settings for the right Y axis.
The group Grid Lines Hor. The group contains settings for horizontal lines.
The group Grid Lines Vert. The group contains settings for vertical lines.
The group Grid Lines Hor Right. The group contains settings for right horizontal lines.
The group Interlacing Hor. The group contains settings of alternation of horizontal cells in the
© 2003-2019 Stimulsoft
666 Stimulsoft Reports and Dashboards User Manual
chart area.
The group Interlacing Vert. The group contains settings of alternation of vertical cells in the
chart area.
On this tab you can set the type of labels in the chart. The selected appearance of the title will be
applied to all rows that have the mode Show Series Labels: From Series disabled.
Information: You can use a variety of modes of display labels. - Headlines from the series or title
of the chart.
If the mode Show Series Labels: From Series is enabled, then on the tab Series, the group
Series Labels you should define the type of labels. In this mode, you can specify a particular type
of labels for each series.
If the mode Show Series Labels: From Chart is enabled then the type of series labels will be
the same as selected in the tab Labels. For example, you have a chart with 10 series in it and
labels should have the same style, i.e. be of the same type. In this case, on the tab Labels, you can
define the type and in settings of each series you can specify the mode Labels From Chart.
© 2003-2019 Stimulsoft
Report Internals 667
You can completely change the design of charts, ranging from basic colors and ending with shadows,
borders, and so on. You can do this in the tab Styles.
© 2003-2019 Stimulsoft
668 Stimulsoft Reports and Dashboards User Manual
The button is used to call the style designer. In the designer, you can create a style for the chart and
the collection of styles for other components.
In this panel you can see the list of styles that are available by default.
The panel Preview. This panel displays the chart and immediately previews changes made in real
time.
The button More Styles. When you click it you will see the list of styles available by default.
Notice: If the AllowApplyStyle is enabled then the style will be applied. If you disable the
AllowApplyStyle then the parameters of series will be considered.
© 2003-2019 Stimulsoft
Report Internals 669
3.29.1.6 Wizard
The Chart wizard provides an opportunity to create a chart in a few simple steps. To start the wizard,
you should the button Chart Wizard in the chart editor. The wizard provides a step-by-step procedure
to create a chart. By default, the first type (Clustered Column) is selected in the list.
Information: In order to proceed to the next step, press the button Next. You should remember
that you can always return to the previous step by clicking the button Back.
© 2003-2019 Stimulsoft
670 Stimulsoft Reports and Dashboards User Manual
The chart component contains a collection of preset styles for the chart. Select one of them to create a
chart. By default, the first style in the list is selected.
In the next step, you need to create a series of charts and specify their values.
© 2003-2019 Stimulsoft
Report Internals 671
Clicking on this button a list of series opens. Depending on the particular type of chart, the list will
have different types of series. To add a series to a chart you should select it in the list.
Deletes the selected series of a chart.
The buttons are used to move the selected number of series in the list of charts.
This panel displays a list of chart series.
In the field of this this option you can change the name of the series. By default, all series have the
name as Series+"number".
In this panel you can set chart arguments and values. This panel has two tabs:
The tab Data Columns you must specify the data columns for arguments and values. For
example, the column of arguments contains entries A, B, C. The values column will contain entries:
23, 43, 56. In this case, the argument A will match the value 23, the argument B will match the value
© 2003-2019 Stimulsoft
672 Stimulsoft Reports and Dashboards User Manual
Add new block that consists of fields Argument and Value. You should know that in the added block
the specified value will correspond to the argument in this block.
Remove the last inserted block of fields Value and Argument.
The list of arguments fields, i.e. in these fields arguments of a chart are specified. For example, the
arguments A, B, C, D.
The list of values fields, i.e. in these fields the values
of the chart are shown. For example, the values
1, 2, 3, 4.
Information: It should be noted that for rendering the chart there must be at least one values, i.e.
the value is required to be specified. Arguments, if they are not specified, they will be automatically
created.
On the next step, it is necessary to define the look of labels in the chart. By default, labels are disabled.
© 2003-2019 Stimulsoft
Report Internals 673
The list of labels for the chart, with examples of their placing on this type of a chart.
Parameters of labels, their angle, the text before the header text after the header, etc.
Information: You should know that when you create a chart manually, i.e. without using the wizard,
you can specify label look as the entire chart and its our look for each row of the label. When you
create a chart using the wizard, you can only define the general form of signatures for the whole
diagram, i.e. one type for all series of the chart.
© 2003-2019 Stimulsoft
674 Stimulsoft Reports and Dashboards User Manual
The most important settings are displayed on the axes. Moreover, this panel has tabs axis X and axis Y.
The parameter Title. This group of settings specifies the text of the axis title and its alignment.
The parameter Ticks. It is determined by the number of intermediate ticks and display mode -
without labels, only the main, and all labels.
The group Grid Lines. This group defines the parameters of the grid line.
The group Labels. In this group you can specify the parameters of axis titles such as on/off, reverse,
etc.
© 2003-2019 Stimulsoft
Report Internals 675
In the last step you need to define parameters of the chart legend. Legend is an area that displays the
symbols of different data series in the chart.
© 2003-2019 Stimulsoft
676 Stimulsoft Reports and Dashboards User Manual
The group Marker. The marker is an icon that helps you to visually recognize a series of charts. The
number of markers corresponding to the number of rows. Setting markers is performed in this group
of parameters.
The group Spacing. Increasing or decreasing the vertical and horizontal indentation in the legend is
carried out with the help of these parameters. Also, in this group there is a parameter Visible. If this
option is enabled the legend is displayed. If not - the legend is not displayed.
3.29.2 Area
Circular area or area without axes is a space where charts can be placed without axes. A
circular area includes the main elements of the chart: series, chart title and a legend. In
the area without axes the following chart types may be placed: Pie and Doughnut. The
difference between these types of charts is that, for Pie type of a chart, rows are
arranged in series. And for the Doughnut chart - rings. The picture below shows an
example of a Pie chart, with three series:
As can be seen from the picture, the series are arranged consecutively in a clockwise
direction. In the Doughnut chart, the number of rows will match the number of rings.
The picture below shows an example of a chart that has three rows:
© 2003-2019 Stimulsoft
Report Internals 677
3.29.2.1 Doughnut
The Doughnut chart is circular chart divided into sectors. It has a blank center and the
ability to support multiple statistics as one. Doughnut illustrates proportion. On the
picture below the doughnut chart sample is represented:
Series Labels can only be placed in the center on the doughnut chart. The Series
Labels may have two values: None and Center. If the Series Labels property is set to
None, then labels are not shown. The picture below shows the doughnut with no
© 2003-2019 Stimulsoft
678 Stimulsoft Reports and Dashboards User Manual
labels:
If the Series Labels property is set to Center, then labels are shown in the center of the
chart ring. The picture below shows the doughnut with labels:
3.29.2.2 Pie
The Pie chart (or a circle graph) is circular chart divided into sectors, illustrating
proportion. Each Series is a part of chart. In a pie chart, each sector, is proportional to
the quantity it represents. Together, the sectors create a full disk.
© 2003-2019 Stimulsoft
Report Internals 679
The location series labels, in the pie chart, depends on the value of the SeriesLabels
property. This property may take the following values: None, Inside End, Center,
Outside, Two Columns.
None. Series Labels are not shown. The picture below shows an example of a Pie
chart with the Series Labels set to None:
Inside End. Series Labels are displayed inside the slice and far from the center. The
© 2003-2019 Stimulsoft
680 Stimulsoft Reports and Dashboards User Manual
picture below shows an example of a Pie chart with the Series Labels set to Inside
End:
Center. Series Labels are displayed in the center of the slice. The picture below shows
an example of a Pie chart with the Series Labels set to Center:
Outside. Series Labels are displayed outside the chart, but in a Pie area. The picture
below shows an example of a Pie chart with the Series Labels set to Outside:
© 2003-2019 Stimulsoft
Report Internals 681
Two Columns. Series Labels are displayed outside the chart in two columns: on the
left and right of the chart. The picture below shows an example of a Pie chart with the
Series Labels set to Two Columns:
The Pie chart represents an opportunity to display the contribution of each value to a
total while emphasizing individual values. To select a segment in a pie chart select and
pull out, it is necessary, in the Series Editor, to specify values for the Distance and
CutPieList properties of a series. The Distance property indicates is the distance from
the center of the chart to the nearest point of the pull out segment. The CutPieList
© 2003-2019 Stimulsoft
682 Stimulsoft Reports and Dashboards User Manual
property has a list of series to be pulled out, separated with ';'. The picture below shows
an example of a pie chart, with the second slice of the first series pulled out. The
distance is 60-hundredths of inches:
If the field of the CutPieList property is filled, and the field of the Distance property is
not filled, then the segments will not be pulled out. If the field of the Distance property
is filled, and the field CutPieList property is not filled, then all segments of this series
will be pulled out to the distance, which corresponds to the value of the Distance
property. The picture below an example of a chart with all segments of the series 1
being pulled out, because the field of the CutPieList property was not filled, and the
Distance property set to 30-hundredths of an inch:
© 2003-2019 Stimulsoft
Report Internals 683
3.29.3 Legend
The chart may include a legend. A legend contains a list of the variables appearing in
the chart and an example of their appearance. This information allows the data from
each variable to be identified in the chart. The legend can be placed at any part of the
chart.
The Title property of the Legend allows setting the Legend title. The full path to this
property is Legend.Title. If the field of the Title property is not filled then the Legend
title is not shown. The Title is shown over the Legend. The picture below shows a
sample of the Chart with Legend where the "Title Legend" is the Legend title:
The HorizontalAlignment property of the Legend allows aligning the Legend position
horizontally. The full path to this property is Legend.HorizontalAlignment. The
property has the following values: Left Out Side, Left, Center, Right, Right Out Side.
Description of values:
Left Out Side. The legend will be placed outside the Chart area on the left. The
picture below shows where the Legend will be placed if the Horizontal Alignment
property is set to Left Out Side:
© 2003-2019 Stimulsoft
684 Stimulsoft Reports and Dashboards User Manual
Left. The legend will be placed inside the Chart area on the left. The picture below
shows where the Legend will be placed if the Horizontal Alignment property is set to
Left:
Center. The legend will be placed inside the Chart area in the center. The picture
below shows where the Legend will be placed if the Horizontal Alignment property is
set to Center:
Right. The legend will be placed inside the Chart area on the right. The picture below
shows where the Legend will be placed if the Horizontal Alignment property is set to
Right:
© 2003-2019 Stimulsoft
Report Internals 685
Right Out Side. The legend will be placed out side the Chart area on the right. The
picture below shows where the Legend will be placed if the Horizontal Alignment
property is set to Right Out Side:
The Vertical Alignment property of the Legend allows aligning the Legend position
vertically. The full path to this property is Legend.VerticalAlignment. The property
has the following values: Top Out Side, Top, Center, Bottom, Bottom Out Side.
Description of values:
Top Out Side. The legend will be placed above and outside the Chart area. The
picture below shows where the Legend will be placed if the Vertical Alignment
property is set to Top Out Side:
© 2003-2019 Stimulsoft
686 Stimulsoft Reports and Dashboards User Manual
Top. The legend will be placed inside the Chart area on the top. The picture below
shows where the Legend will be placed if the Vertical Alignment property is set to
Top:
Center. The legend will be placed inside the Chart area and vertically in the center.
The picture below shows where the Legend will be placed if the Vertical Alignment
property is set to Center:
Bottom. The legend will be placed inside the Chart area on the bottom. The picture
© 2003-2019 Stimulsoft
Report Internals 687
below shows where the Legend will be placed if the Vertical Alignment property is
set to Bottom:
Bottom Out Side. The legend will be placed under and outside the Chart area. The
picture below shows where the Legend will be placed if the Vertical Alignment
property is set to Bottom Out Side:
The Horizontal Spacing and Vertical Spacing properties allow setting the spacing
(horizontal and vertical, respectively) between the Legend edge and the information on
series. The full paths to these properties is Legend.HorizontalSpacing and
Legend.VerticalSpacing. The picture below shows in arrows the horizontal and
vertical spacing between the Legend edge and the Series 1:
© 2003-2019 Stimulsoft
688 Stimulsoft Reports and Dashboards User Manual
These properties can take numeric values, and are required for filling. If values of the
Horizontal Spacing and Vertical Spacing properties are negative, then the legend
can be unreadable. The minimum value of these properties is 0.
3.29.3.5 Marker
The Marker is an icon that indicates the chart row. The number of markers correspond
to the number of rows. On the picture below a sample of chart with three rows and
markers for them is shown:
The Direction allows selecting the order of showing markers. The full path to this
property is Legend.Direction. The property has the following values: Top to Bottom,
Bottom to Top, Left to Right, Right to Left.
Description of values:
Top to Bottom. Markers are shown in the "from top to bottom" order. The picture
below shows a sample of the Legend which the Direction property is set to Top to
© 2003-2019 Stimulsoft
Report Internals 689
Bottom:
Bottom to Top. Markers are shown in the "from bottom to top" order. The picture
below shows a sample of the Legend which the Direction property is set to Bottom to
Top:
Left to Right. Markers are shown in the "from left to right" order. The picture below
shows a sample of the Legend which the Direction property is set to Left to Right:
Right to Left. Markers are shown in the "from right to left" order. The picture below
shows a sample of the Legend which the Direction property is set to Right to Left:
© 2003-2019 Stimulsoft
690 Stimulsoft Reports and Dashboards User Manual
If to set the Columns property to 2, and set the Direction property to Left to Right,
then markers will be split into two vertical columns. The picture below shows a sample
of the Legend which markers are split into two vertical columns (the Direction
property is set to Left to Right):
The Columns property may have any values more than 0. This property must be set. It
cannot be left empty.
The Marker Alignment property allows aligning markers either left or right from the
"Series" name. The full path to this property is Legend.Marker Alignment. If the
Marker Alignment property is set to Left, then the marker will be placed on the left
from the "series" name. The picture below shows a sample of the Legend which the
Marker Alignment property is set to Left:
If the Marker Alignment property is set to Right, then the marker will be placed on
the right from the "series" name. The picture below shows a sample of the Legend
which the Marker Alignment property is set to Right:
© 2003-2019 Stimulsoft
Report Internals 691
The MarkerVisible property allows showing/hiding the legend markers. The full path
to this property is Legend.MarkerVisible. If the MarkerVisible property is set to true,
then markers are shown. The picture below shows a sample of the Legend which the
MarkerVisible property is set to true:
If the MarkerVisible property is set to false, then the Legend markers are hidden. The
picture below shows a sample of the Legend which the MarkerVisible property is set
to false:
The Axes Area is a space which includes all chart items such as data rows, axes, chart
title, and legend. On the picture below the Axes Area is shown:
© 2003-2019 Stimulsoft
692 Stimulsoft Reports and Dashboards User Manual
3.29.4.1 Axes
Axes Area has Х and Y axes. The Х axis, as a rule, is the axis of arguments, and the Y
axis, is the axis of values.
Besides, the Axes Area can contain top and central Х axis, and right Y axis.
Each axis has its own direction. The direction is identified with marker (usually it is an
arrow). To change the arrow style, use the Arrow Style property of an axis. The path to
this property is Area.Axes.ArrowStyle. On the picture below the sample of a rendered
chart with the ArrowStyle property set to the None default value:
© 2003-2019 Stimulsoft
Report Internals 693
As you can see, if the ArrowStyle property is set to None, then X Y axes do not have
style. The ArrowStyle property can be set to Triangle. In this case the arrow style will
look like on the picture below:
The ArrowStyle property can be set for each axis. Each axis may have its own values of
the Arrow Style property. On the picture below different values of the ArrowStyle
property of Х and Y axes:
© 2003-2019 Stimulsoft
694 Stimulsoft Reports and Dashboards User Manual
As seen from the picture above, the ArrowStyle property, of the Y axis is set to
Triangle. And the ArrowStyle property, of the X axis is set to Lines.
3.29.4.1.2 Labels
Labels are titles of X axis (the axis of the arguments) and Y (the axis values). Labels can
take any string value. Any string value is transformed according to the selected format.
If the report generator failed to convert a value to the selected format, then a direct
string value is output. The picture below shows an example of a chart with arguments
of Labels. The Format property is set to N:
The Angle property is used to change the inclination of Labels. Specifies the angle, in
degrees. The Angle property is set separately for each axis. The full path to this
property is Area.Axis.Labels.Angle. By default, the value of the Angle property is set
© 2003-2019 Stimulsoft
Report Internals 695
The value of this property can be negative and positive. If the value of the property is
negative then Label is inclined clockwise. If the value of the property is positive then
Label in inclined anticlockwise. The picture below shows the chart sample, which Angle
property by the Х axis is set to 50:
The Format property is used to to format the contents of Labels. The full path to this
property is Area.Axis.Labels.Format. This property has multiple values.
Number. The N value of the Format property is used for the general display of
© 2003-2019 Stimulsoft
696 Stimulsoft Reports and Dashboards User Manual
numbers. When filling the Format, after the N value, it is possible to specify the
number of decimal places that you want to use. If no numbers are specified after N
then decimal places will be shown only if they are present as a result of calculation. The
picture below shows a chart with the Format property of Series Labels set to N:
Currency. The C value of the Format property is used to display Labels with a
currency symbol. With the C value, it is possible to specify the number of decimal
places that you want to use. The picture below shows a chart with the Format property
of Series Labels set to C:
Percentage. The P value of the Format property is used to display Labels with
percent symbol. After the P value, it is possible to specify the number of decimal places
that you want to use. The picture below shows a chart with the Format property of
Series Labels set to P:
© 2003-2019 Stimulsoft
Report Internals 697
Date formatting. The MM/dd/yyyy, MMMM dd, yyyy MMMM values of the
Format property convert values of arguments to date. MM/dd/yyyy - the date is
shown like "01.20.2010", MMMM dd - the date is shown like "September 29", yyyy
MMMM - the date is shown like "2010 March". The picture below shows a chart and
its Format property is set to MM/dd/yyyy:
To reset the Format property of selected cells, and return to the default format, clear
the Format by selecting empty field.
The Placement property is used to change position of labels. The full path to this
© 2003-2019 Stimulsoft
698 Stimulsoft Reports and Dashboards User Manual
One Line. In this case, labels are placed in a line horizontally or vertically, depending
on the X or Y axis, respectively. The picture below shows an example of a chart, with the
Placement property set to One Line for of X and Y axes:
Two Lines. In this case, labels are placed in two lines horizontally or vertically,
depending on the X or Y axis, respectively. The picture below shows an example of a
chart, with the Placement property set to Two Lines for of X and Y axes:
None. In the case labels are not shown. The picture below shows an example of a
chart, with the Placement property set to None for of X and Y axes:
© 2003-2019 Stimulsoft
Report Internals 699
The TextAlignment property is used to align labels on the chart or by Y axis. The full
path to this property is Area.Axis.Labels.TextAlignment. If the TextAlignment
property set to Left, then labels are aligned by the chart edge. The picture below shows
an example of chart with the of TextAlignment property set to Left:
If the TextAlignment property set to Right, then the labels are aligned by the Y axis.
The picture below shows an example of chart with the of TextAlignment property set
to Right:
© 2003-2019 Stimulsoft
700 Stimulsoft Reports and Dashboards User Manual
The Range property is used to display the specified section of a chart. So a part of the
chart within the specified values will be shown. The picture below shows a chart with
the Range property set to the X-axis from 2 to 4:
© 2003-2019 Stimulsoft
Report Internals 701
If the Auto field is set to false, then all values of the range which are specified in the
Minimum and Maximum fields are considered. If the Auto field is set to false, and
values the Minimum and Maximum fields are set to 0, then the chart will be shown
entirely.
Minimum - sets the beginning of the range.
Maximum - sets the end of the range.
If the Maximum value is less then the Minimum value, then the chart will be
displayed entirely.
The Visible property is used to show X and Y axes. The picture below shows a chart
with the Visibility property set to true (axes are visible):
© 2003-2019 Stimulsoft
702 Stimulsoft Reports and Dashboards User Manual
If the Visible property is to set the false, then X and Y axes will not be shown. The
picture below shows this:
The Visible property has the X axis and the Y axis. It is possible to hide/show axes
separately. Also, this property is used to display the top X axis and right Y axis. By
default, for the axes, the property is set to false. The picture below shows an example of
a chart, to display the top X axis and the right Y axis:
The Visible property has the top X axis and the right Y axis. It is possible a combination,
for example, the top X axis and the left Y axis or the X axis and right Y axis or any other
combinations.
By default the Visible property is set to true.
© 2003-2019 Stimulsoft
Report Internals 703
By default, the Start from Zero property is set to true. I.e. arguments are shown from
the start to the end, regardless of the location of the chart. The picture below shows an
example of a chart with the Start from Zero property set to true for the X and Y axes:
If the Start from Zero property to set false, then the Range of the chart area will be
shown. The picture below shows an example of a chart with the Start from Zero
property set to false for the X axis:
3.29.4.1.6 Ticks
Ticks are horizontal (for the Y axis) and vertical (for the X axis) lines, which visually
© 2003-2019 Stimulsoft
704 Stimulsoft Reports and Dashboards User Manual
show the unit interval and the proportion of segments. Under the Ticks labels are
displayed. The picture below shows a chart with ticks:
3.29.4.1.6.1 Minor
Minor ticks show the proportion of a single axis segment. Minors ticks have the
following properties: MinorCount, MinorLength, MinorVisible.
Minor Count is used to change the number of Minor ticks. The value of this property
can be any positive number or 0. The distance between two nearest Maj or ticks is
divided into the number of Minor ticks into equal parts. The picture below shows an
example of a chart, with the Minor Count property set to 4 for X and Y axes:
© 2003-2019 Stimulsoft
Report Internals 705
Minor Length is used to change the length of Minor ticks. The value of this property
can be any positive number greater than 0, the field of this property can not be left
blank. The length of Minor ticks can be longer than the length of Minor ticks.
Minor Visible is used to show/hide Minor ticks on axes. If the Minor Visible
property is set to false, then the Minor ticks are hidden. If the value of this property is
set to true, then the Minor ticks are shown. The picture below shows an example of a
chart, with the Minor Visible property set to true for X axis, and set to false for Y axis:
The Step property is used to change the step between Ticks, i.e. the distance between
© 2003-2019 Stimulsoft
706 Stimulsoft Reports and Dashboards User Manual
neighbor Maj or ticks. By default, the value of the Step property is set to 0. The picture
below shows an example of a chart with the Step is installed to the 0 default value.
As one can see, if the value is 0, then the distance between two between neighbor
Maj or ticks by the Y axis is 0.5, and 1 by the X-axis. If to set the Step property to Z value,
then the report generator will multiply Z value by the value of the unit interval. The
result obtained is the distance between two neighbor Maj or ticks. The picture below
shows an example of a chart, with the step on the Y axis set to 1,5, and the X axis value
set to 1:
The Title property is a title of axis. This property is used to display an axis title.
Moreover, the Title property for each axis is given separately. The picture below shows
© 2003-2019 Stimulsoft
Report Internals 707
a chart where the X axis is called the "Arguments", and the axis Y is called "Values":
The Alignment property is used to align a title of an axis. The full path to this property
is Area.Axes.Title.Alignment. This property has the following values: Center, Far,
Near.
Center. Aligns the title of the axis by center by the axis. The picture below shows an
example of a chart, with the Alignment property of a title of the X axis set to Center:
© 2003-2019 Stimulsoft
708 Stimulsoft Reports and Dashboards User Manual
Far. Aligns the title of the axis on the opposite side from origin of coordinates. The
picture below shows an example of a chart, with the Alignment property of a title of
the X axis set to Far:
Near. Aligns the title of the axis on the near the origin of coordinates. The picture
below shows an example of a chart, with the Alignment property of a title of the X axis
set to Near:
© 2003-2019 Stimulsoft
Report Internals 709
The Reverse Vertical property is used to flip a chart vertically. The picture below
shows an example of a chart, with the Reverse Vertical property set to false (As one
can see, the values of the x-axis have normal direction.):
If the Reverse Vertical property is set to true, then the chart will appear in the
opposite direction vertically. The picture below shows an example of a chart, with the
Reverse Vertical property is set to true (As one can see, the values of the x-axis have
downright direction.):
© 2003-2019 Stimulsoft
710 Stimulsoft Reports and Dashboards User Manual
The Reverse Horizontal property is used to flip a chart horizontally. The picture below
shows an example of a chart, with the Reverse Horizontal property set to false (As one
can see, the values of the x-axis have left to right direction.):
If the Reverse Horizontal property is set to true, then the chart will appear in the
opposite direction horizontally. The picture below shows an example of a chart, with the
Reverse Horizontal property is set to true (As one can see, the values of the x-axis have
right to left direction.):
© 2003-2019 Stimulsoft
Report Internals 711
The Color Each property is used (depends on the selected style) to set color for each
value of a series. By default, the Color Each property is set to false, i.e. columns of one
row have the same color. The picture below shows an example of a chart with the Color
Each property set to false for two series:
If the Color Each property is set to true, then each value of X axis has its own color. The
picture below shows an example of a chart with the Color Each property set to true for
two series:
© 2003-2019 Stimulsoft
712 Stimulsoft Reports and Dashboards User Manual
3.29.5 Series
The Series type depends on the chart type. They are divided into series, placed on
doughnut charts, and placed in the axis area.
One of the main settings of the series is specifying the way of obtaining data. There are
three ways to obtain data for the series:
To set the column data from the dictionary;
To specify an expression;
Manually specify values for the series as a list, through the ';' separator.
The Value Data Column and Argument Data Column properties are used to
connect a series by specifying a data column from the dictionary. The reporting tool
renders series of charts by values and arguments of the column selected in the fields of
the Value Data Column and Argument Data Column properties. For example, if the
selected column of data from the data source contains the 1000 values, then all the
1000 values will be used in constructing the chart. The picture below shows an example
of the chart, so the values from the selected data source column:
© 2003-2019 Stimulsoft
Report Internals 713
3.29.5.1.2 Expressions
To connect a series of data using the expression, you should use the Value and
Argument properties. The values of these properties are expressions, the result of their
calculation is used to obtain a single value of data and argument of data. If you use the
Value and Argument properties, then, for this chart, it is necessary to select a data
source (the Data Source property), because expressions specified in the fields of these
properties are not lists of data and return only one value when calculating. Moreover,
the Value property returns the value in Number format, but the Argument property
allows any type of data. To make the report generator know which list should be used
for the report, it is necessary to indicate the data source. Once the data source is
specified, the report generator runs through all the records of the data source and
calculates all the values and arguments according to expressions given in the fields of
the Value and Argument properties. The result of the calculation is used to create a
chart. Also, for the data in the data source, you can specify sorting and filtering. The
picture below shows an example of a chart, rendered on the basis of results of values
and arguments calculations of the selected column of the data source:
© 2003-2019 Stimulsoft
714 Stimulsoft Reports and Dashboards User Manual
If it is necessary to build a chart by the given values and arguments, then one should
use the List of Values and the List of Arguments properties. The List of Values
indicates values for creating series (values must be entered through the ';' separator).
The List of Arguments property indicates arguments for creating series (values must
be entered through the ';' separator). The order number of the List of Values property
values corresponds to order number of the List of Arguments property values. The
picture below shows an example a chart, designed by the list of values and arguments:
© 2003-2019 Stimulsoft
Report Internals 715
3.29.5.2 AutoSeries
Stimulsoft Reports can automatically create a series. Use the Auto Series Key Data
Column, Auto Series Color Data Column, and Auto Series Title Data Column
properties. A column from which values are taken to build the series is selected in the
Auto Series Key Data Column property. A series is created for each unique value. The
picture below shows an example of a chart with the Auto Series Key Data Column
property set to Employees.Title:
There are 4 rows on the picture above. The 1st, 2nd, 4th series have one value, and the
3rd series has 6 values. This means that the Employees data source in the Title
column contains 9 lines, and 6 lines have identical values (records), and the remaining
three are different. Values (records) of rows in the data source are shown in a rendered
chart in the legend, as well as the name of the series, if the field of the Auto Series
Title Data Column property is empty. The Auto Series Color Data Column property
is used to specify the color range, i.e. each series will have its own color. This property is
subsidiary, and is not required to fill in the automatic creation of the series. Also, the
subsidiary property and the Auto Series Title Data Column property, using what it is
possible to change the title of the series. The picture below shows an example of a
chart, with the Auto Series Key Data Column property set to Employees.Title, and
the Auto Series Title Data Column property set to Employees.EmployeeID:
© 2003-2019 Stimulsoft
716 Stimulsoft Reports and Dashboards User Manual
As seen from the picture above, the series labels are changed. As the series labels,
string values are taken from the columns of the data source that is listed in the Auto
Series Title Data Column property, in this case, this is the EmployeeID column.
3.29.5.3 Filters
Sometimes, in creating reports, it is necessary to print, not all values from the data
source, but only those that meet specific criteria. In order to select the required settings,
data filtering is used. Filtering is set using the Filters property in the Series Editor. A
condition is specified is each filter. If the condition is true, i.e. the result of its calculation
is true. This means that this value will be used when chart rendering. If the result of
calculation of the filter condition is false, then this value will be ignored. Each filter
represents a condition for processing the data values. The picture below shows an
example the filter panel:
© 2003-2019 Stimulsoft
Report Internals 717
affects how the report generator processes the condition. For example, if the data type
is a string, then the method of work with strings is used. In addition, depending on the
type of data the list of available condition operations is changed. For example, only for
the String data type the Containing operation is available. The Expression data type
is used to set the expression instead of the second value.
The type of operation with what it is possible to calculate a value of a condition. All
available types of operations are available in the table below.
Values of the filter condition.
A list of available operations depends on the type of data. Below is a table of operations
for each type of data with their descriptions.
Types of data
Operatio
Description
n
Numeric DateTi
String Boolean
al me
equal to If the first value is equal to
the second, then the
condition is true.
© 2003-2019 Stimulsoft
718 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 719
3.29.5.4 Conditions
If it is necessary to set the color of values in a chart, one can specify the condition. The
Conditions property in the Series Editor is used to set up conditional formatting. The
editor of conditions is called using this property. The picture below shows the main
elements of the editor of conditions:
Field Is
This is used to select the type of conditions.
Data Type
This field specifies the type of data with what a condition will work. There are five types
of data: String, Numeric, DateTime, Boolean, Expression. Data type affects on how
the reporting tool processes a condition. For example, if the data type is a string, then
the methods of work with strings are used. In addition, depending on the type of data
the list of available operations of conditions is changed. For example, only for the
String data type the Containing operation is available. The Expression data type
provides the ability to specify an expression instead of the second value. In this case the
reporting tool will not check the compatibility of the first and the second values of the
condition. Therefore, the user should care about the correctness of the expression.
Condition
A type of operation using what the calculation of values will be done.
Value
The first value of a condition.
Color
Select a color to mark values which corresponds to condition.
Setting the series includes a number of properties in the Series Editor, which is used to
visually arrange the rows and change the advanced settings.
The Border Color property is used to change the border color of each series of a
© 2003-2019 Stimulsoft
720 Stimulsoft Reports and Dashboards User Manual
The Brush property is used to change the type of filling and series color.
Depending on the value of the Show Shadow property, the shadow for series may
be shown/hidden. If the Show Shadow property is set to true, then shadows are
shown. If the Show Shadow property is set to false, then shadows are not shown.
The Show Zeros property can take two values, depending on what zero values in a
chart will be shown/hidden. If the Show Zeros property is set to true, then zero values
are displayed on a chart. If the Show Zeros property is set to false, then zero values
will not be displayed on a chart.
Using the Width property it is possible to change the width of the created values. A
value of this property will change a value from 0 (a value greater than 0) to 1 (a value
must be less than or equal to 1). The lowest value corresponds to the minimum width
and maximum value corresponds to the maximum width.
The Axis Y property affects the location of the Y axis. If the Axis Y property is set to
Left Y Axis, then the Y axis will be located on the left. If the Axis Y property is set to
Right Y Axis, then the Y axis will be located on the right.
Using the Show in Legend property will change the display mode in a legend. If the
Show in Legend property is set to true, then series are shown in a legend. If the Show
in Legend property is set to false, then series are not shown in a legend.
The Show Series Labels property can take three values, according to which titles
series will be shown/hidden. If the Show Series Labels property is set to None, then
series labels not displayed. If the Show Series Labels property is set to fromCharts,
then series labels are displayed according to parameters set in the Series Labels
property of a chart. If the Show Series Labels property is set to fromSeries, then in
the Series Editor the Series Labels property will appear. This property can be
configured by setting the parameters, and Series Labels in a chart will be displayed in
accordance with these parameters.
With help of the Title property it is possible to change the series labels. Any
characters entered in the field of this property will be labels.
© 2003-2019 Stimulsoft
Report Internals 721
3.29.5.6 Axis Y
For each row, you can choose left or right axis Y, which is about the plot. Attachment to
the axis of the graph depends on the properties of a number of axis Y (Axis Y),
depending on the value of this property and are binding. If this property is set to Left
axis Y (Left Y Axis), it will bind to the left axis, and if the property is set to the right axis Y
(Right Y Axis) - to the right. Typically, this feature is used when you want to display a
chart of different types of series. Let us consider in more detail with an example. We
construct a diagram that will contain data on global economic growth for 2006 and
2008. Data for the 2008th displayed as a histogram, and in 2006 as a line. Chart datum,
in this case, leave the default, ie to the left axis Y. The figure below shows a diagram
constructed:
As can be seen from the picture, in general, global economic growth by region for 2006
was higher than in 2008. In this case, the report generator will generate the left Y-axis
by choosing the maximum value of the columns of data in those rows that are tied to it,
ie, from the column data in bar charts and line. And then, build graphs for the axis Y. If
the right Y-axis is enabled, the value of this axis will be duplicated on the left axis Y.
Now change the example slightly, we establish a number of anchor line (Line) to the
right Y-axis and construct a graph. The picture below shows a diagram with reference
to the right and left axis Y, different series:
© 2003-2019 Stimulsoft
722 Stimulsoft Reports and Dashboards User Manual
As can be seen from the picture, the value and dynamics of global economic growth
have not changed. But the values of the left and right Y-axis are not identical. In this
case, a report generator built on the left Y-axis maximum value from a column of data
series that is tied to the left axis, ie by the maximum value from the histogram and the
right axis Y - by the maximum value at the line. It is also worth noting that you can
specify a different axis, and for the series of the same type. The picture below shows
two diagrams (on the left - both series are tied to the left axis Y, on the right - first row
to the left axis, the second - to the right):
© 2003-2019 Stimulsoft
Report Internals 723
As can be seen on the diagram, where the binding is to a single axis, it is better visible
the dynamics of growth (or loss), but at the same time, if the values
of one series would
be great, and the second is considerably small, should be used to bind to different axes.
This will enable even the smallest value to visualize. Also, it should be understood that
the rows of stacked rows of binding to different axes Y is incorrect, because This
contradicts the method of charting the accumulation.
3.29.5.7 Top N
Using the group of properties Top N you may highlight the maximum or minimum
values in the chart, and the rest one group into a single value. Grouped value is a sum
of all values
that were not identified. Features offered by the group of properties Top N,
can be applied in different cases: when the chart has many values but it is needed to
allocate a certain amount of the maximum (minimum) ones or, for example, if you want
the chart to display the difference between the maximum (minimum) values and set
other values . Let's consider the properties of Top N in more detail.
1. The Count property provides the ability to determine the number of values that will
be displayed and will not be subj ect of grouping. If this property is set to 2, then it
means that the two maximum (minimum) values will be displayed, and the rest are
grouped into a single value.
2. Depending on the value of Mode property will be allocated the maximum or
minimum values. If the Mode property mode is set to Top, the maximum values will be
highlighted, and if the property is set to Bottom - the minimum ones will be selected. If
© 2003-2019 Stimulsoft
724 Stimulsoft Reports and Dashboards User Manual
the Mode property is set to None, then all the values in the fields of the properties List of
Value
, or Value Data Column will be displayed.
3. Specify the signature of the argument values grouped, you can use the properties of
the Other Text. If the field is empty for this property, the signature of the argument have
grouped the values will be absent.
4. Displaying or not hiding the grouped property value provides an opportunity to
Show Other. If this property is set to true (true), then this value is shown in the diagram,
and if the value lies in the (false) - a group the values
are not displayed.
As you can see from the picture, the population of Oklahoma is the largest in the
diagram. For example, to visually display the differences in the population of Oklahoma
and the total population of other states in this diagram. Define the property values of
Top N. Since it is necessary to allocate a single maximum value (population of
Oklahoma), the number of property (Count) should be set to 1, and the Mode property -
© 2003-2019 Stimulsoft
Report Internals 725
is set to Top. If you want you can add a signature argument of the aggregate value. In
this example, the property Other Text define to be the Other. Show Other property also
must be set to true (true), as in this example, the goal is to visually display the
differences between populations in Oklahoma and other states in this diagram. The
picture below shows a diagram with the properties of the applied group Top N:
© 2003-2019 Stimulsoft
726 Stimulsoft Reports and Dashboards User Manual
As the picture shows, visually, this picture is seen with difficulty, and select the
maximum (minimum) value is problematic. In this example, we select 5 products to the
most minimal prices. To do this, set the Count property in the value 5, the Mode property
- is set to Bottom, Other Text property field is left blank, because the property is set to
Show Other value false. The picture below shows a diagram with the properties of the
applied group Top N:
© 2003-2019 Stimulsoft
Report Internals 727
As can be seen from the picture, a kind of filtering is performed, ie Report Generator
has identified five minimum values, and the rest grouped into a single value. Because
the property found in the Show Other value lies (false), then grouped the value does
not appear on this chart.
Series Labels is an information block which displays the value of each series. The
picture below shows an example of a chart, with Series Labels:
The Series Labels property is used to indicate position of series labels. The list of
available options for this property depends on the type of chart. Also, the Series Labels
property have some options that are used to change settings of Series Labels.
The following group of properties allows visually change the appearance of Series
Labels: change the background color, titles, borders, font type, antialiasing.
The Brush property is used to fill a background type and color in Series Labels. To
© 2003-2019 Stimulsoft
728 Stimulsoft Reports and Dashboards User Manual
change the background color and appearance of a Series Label use the Brush property
within the Obj ect Inspector.
© 2003-2019 Stimulsoft
Report Internals 729
The Brush.Color property is used to change the Series Labels color. The picture below
shows a sample of a chart with the Brush property set to Glare:
The font for Series Labels can be set using the Font property within the Obj ect
Inspector.
Selecting font
Series Labels within a report can be output using different fonts. Three examples fonts
are shown below:
Any font that is installed on your machine can be used in Series Labels. However, when
choosing a font try to select one that will also be present on a user machine or a report
may not render as you would wish at runtime.
Font Size
The font size can be changed using the Font.Size property. For example:
© 2003-2019 Stimulsoft
730 Stimulsoft Reports and Dashboards User Manual
Font Styles
Different styles can be applied to the font. A font may include one or more styles such
as regular, bold, semibold, italic, underlined, and strikeout. Examples of font styles are
shown below:
The picture below shows a chart with text set to Arial, Bold style, font size - 12:
© 2003-2019 Stimulsoft
Report Internals 731
The Label Color property within the Obj ect Inspector is used to change the color of
Series Labels. The picture below shows a chart with the Label Color property set to
red:
The UseSeriesColor property is used to make the border color and the series label
color match to the color of the series. If the UseSeriesColor property is set to false,
then the border color and the color of series labels will correspond to the selected
values of the Border Color and Label Color properties. The picture below shows an
example of a chart, with the UseSeriesColor property set to false:
© 2003-2019 Stimulsoft
732 Stimulsoft Reports and Dashboards User Manual
If the UseSeriesColor property is set to true, then the border color and series labels
color will match to the color of series. The picture below shows an example of a chart,
with the UseSeriesColor property set to true:
The Angle property allows changing the inclination angle of Series Labels. By default,
this property is set to 0 (Series Labels is not inclined). The picture below shows the
situation when the Angle property is set to 0:
© 2003-2019 Stimulsoft
Report Internals 733
The value of the property can be negative and positive. If a value of the property is
negative then Series Label is inclined anticlockwise. If the value of the property is
positive then Label in inclined clockwise. The picture below shows a chart sample,
which the Angle property for Series Labels is set to 45:
The DrawBorder property allows showing/hiding a border of Series Labels. It has two
values: true and false. If the DrawBorder is set to true, then the border is shown. The
picture below shows a chart with borders around Series Labels (the borders are red):
© 2003-2019 Stimulsoft
734 Stimulsoft Reports and Dashboards User Manual
If the DrawBorder is set to false, then the border is hidden. The picture below shows a
chart without borders around Series Labels:
The BorderColor property is used to change the border color of Series Labels. The
picture below shows a chart which Series Labels borders are blue:
© 2003-2019 Stimulsoft
Report Internals 735
The picture below shows a chart with the Antialiasing property set to false:
The Format property is used to format the contents of Series Labels. This property has
multiple values.
Number. The N value of the Format property is used for the general display of
numbers. When filling the Format, after the N value, it is possible to specify the
© 2003-2019 Stimulsoft
736 Stimulsoft Reports and Dashboards User Manual
number of decimal places that you want to use. If no numbers are specified after N
then decimal places will be shown only if they are present as a result of calculation. The
picture below shows a chart with the Format property of Series Labels set to N:
Currency. The C value of the Format property is used to display Series Labels with a
currency symbol. After the C value, it is possible to specify the number of decimal
places that you want to use. The picture below shows a chart with the Format property
of Series Labels set to C:
Percentage. The P value of the Format property is used to display Series Labels with
percent symbol. After the P value, it is possible to specify the number of decimal places
that you want to use. The picture below shows a chart with the Format property of
© 2003-2019 Stimulsoft
Report Internals 737
Date. The MM/dd/yyyy, MMMM dd, yyyy MMMM values of the Format property
convert values of arguments to date. MM/dd/yyyy - the date is shown like
"01.20.2010", MMMM dd - the date is shown like "September 29", yyyy MMMM - the
date is shown like "2010 March". The picture below shows a chart and with the Format
property set to MM/dd/yyyy
To reset the Format property of selected cells, and return to the default format, clear
the Format by selecting empty field.
© 2003-2019 Stimulsoft
738 Stimulsoft Reports and Dashboards User Manual
The ValueType property is used to specify the type of a value that appears in the series
labels. This property may take the following values: Value, Series Title, Argument,
Value - Argument, Argument - Value, Series Title - Value, Series Title -
Argument.
Value. The Series Labels are series values. The picture below shows an example of a
chart with the Value Type property set to Value:
Series Title. The Series Labels are records in the Title field in the Series Editor. The
picture below shows an example of a chart with the Value Type property set to Series
Title:
Argument. The Series Labels are the arguments. The picture below shows an
© 2003-2019 Stimulsoft
Report Internals 739
Value - Argument. The Series Labels are Values and Arguments of series. The
picture below shows an example of a chart with the Value Type property set to Value
- Argument:
Argument - Value. The Series Labels are Arguments and Values of series. The
picture below shows an example of a chart with the Value Type property set to
Argument - Value:
© 2003-2019 Stimulsoft
740 Stimulsoft Reports and Dashboards User Manual
Series Title - Value. The Series Labels are Series Titles and Values. The picture
below shows an example of a chart with the Value Type property set to Series Title -
Value:
Series Title - Argument. The Series Labels are Series Titles and Arguments. The
picture below shows an example of a chart with the Value Type property set to Series
Title - Argument:
© 2003-2019 Stimulsoft
Report Internals 741
© 2003-2019 Stimulsoft
742 Stimulsoft Reports and Dashboards User Manual
If the PreventIntersection property is set to true, then the series labels will not
overlap. The picture below shows an example of a chart, with the PreventIntersection
property set to true:
Sometimes, when designing charts, 0 values of series can be met. Series labels of zero
values can be displayed. The ShowOnZeroValues property is used to show/hide these
© 2003-2019 Stimulsoft
Report Internals 743
series labels. If the ShowOnZeroValues property is set to false, then series labels of
zero values will be hidden. The picture below shows an example of a chart with a zero
value and the the ShowOnZeroValues property is set to false:
In this chart the 3rd argument is 0, and the series labels is not displayed. If the
ShowOnZeroValues property is set to true, then series labels of zero values will be
shown.The picture below shows an example of a chart with a zero value and the the
ShowOnZeroValues property is set to true:
As can be seen from this picture, the 3rd argument is 0, and its title was shown.
© 2003-2019 Stimulsoft
744 Stimulsoft Reports and Dashboards User Manual
The Step property allows changing the step through what the Series Labels will be
shown. By default, the Step property is set to 0, so Series Labels will be shown on each
Series. The picture below shows a chart with the Step property of Series Labels set to 0:
If the Step property is set to 2, then Series Labels will be shown as it is shown on
picture below:
The value 1 of the Step property indicates that Series Labels will be shown for each
value of Series.
© 2003-2019 Stimulsoft
Report Internals 745
The TextBefore and TextAfter properties allow showing text before and after Series
Labels. It is not necessary to use these properties. The pictures below show chart
samples with a text before Series Labels (left) and a text after Series Labels (right):
The Visible property is used to show/hide Series Labels, depending on the selected
value. If the Visible property is set to true, then Series Labels are shown. The picture
below shows a chart with Series Labels:
© 2003-2019 Stimulsoft
746 Stimulsoft Reports and Dashboards User Manual
If the Visible property is set to false, then Series Labels are not displayed. The picture
below shows a chart with hidden Series Labels:
3.29.6.10 Marker
The Marker is an icon that is shown near the Series Labels. It is possible to change
height and width of the Marker. The Marker takes the color of Series. The picture
below shows a chart with Markers:
© 2003-2019 Stimulsoft
Report Internals 747
If to set the MarkerVisible property to true then the Marker is shown. By default, the
MarkerVisible property is set to false and Markers are not visible. The picture below
shows a chart with the MarkerVisible property set to false:
The picture below shows a chart with the MarkerVisible property set to true:
© 2003-2019 Stimulsoft
748 Stimulsoft Reports and Dashboards User Manual
It is possible to change height and width of a Marker. The MarkerSize property is used
for this. It is possible to change Height and Width of a Marker. Marker Height and
Width are set in pixels. If both values are more than 0, then the Marker is shown.
The MarkerAlignment property allows aligning a marker on the left or right of Series
Labels. If the MarkerAlignment property is set to Right, then the marker is aligned to
the left of Series Labels. The picture below shows the Markers aligned left:
If the MarkerAlignment property is set to Right, then the marker is aligned to the
© 2003-2019 Stimulsoft
Report Internals 749
right of Series Labels. The picture below shows the Markers aligned right:
3.29.7 Style
© 2003-2019 Stimulsoft
750 Stimulsoft Reports and Dashboards User Manual
The AllowApplyStyle property is used for whether to apply a selected style in the field
of the Style property. If the AllowApplyStyle property is set to true, then the report
generator, when rendering, will take into account the value of the Style property. If the
AllowApplyStyle property is set to false, then the report generator, when rendering,
will take into account the values of appearance of series.
3.30 Maps
The Map component represents a tool to visualize data with reference to geographical
location. With the help of maps, you can display various statistics for a particular region
or in the world. For example, you can display the sales of any product for each state in
the US or, for example, for each European country. The map may be placed directly on
the page or other components like panels, bands, clones etc. Data for maps may be
filled manually or obtained from the data source. The Map component can be setup in
the component editor. In order to add the Map component in the report you should go
to the Infographics menu on the toolbox or Insert tab:
© 2003-2019 Stimulsoft
Report Internals 751
Map Editor;
Map Types;
Map Keys;
Data for Maps.
Setting the map can be done in the Map component. In order to call the Map Editor
you should double-click the component in the report template or select the Design item
from the context menu of the component. The map editor will be called. It has the
following tabs:
© 2003-2019 Stimulsoft
752 Stimulsoft Reports and Dashboards User Manual
regional map. In this case, regions are grouped by continents. Depending on the type,
the map will contain a variety of options:
© 2003-2019 Stimulsoft
Report Internals 753
© 2003-2019 Stimulsoft
754 Stimulsoft Reports and Dashboards User Manual
Maps can be with a group, heatmap and heatmap with group. You can change the type
of a map in the map editor on the Data tab selecting the Map Type parameter:
© 2003-2019 Stimulsoft
Report Internals 755
None
In this case, the map, regardless of the style or color values of each key, will be filled
with the base color. The map will remain to be split on items:
Group
© 2003-2019 Stimulsoft
756 Stimulsoft Reports and Dashboards User Manual
In this case, it is necessary to fill the Group column with data or specify data
columns indication in the Group field. Each group of map elements will be drawn
with one of the color map style or color that is defined for each entry:
However, if the number of colors in the map style is less than the number of groups
of elements of the map, colors can be repeated:
© 2003-2019 Stimulsoft
Report Internals 757
Heatmap
Notice: When using a heatmap, the values of groups and elements of the map
will not be grouped. If you want to display the heat map by the grouped values, it
is necessary to specify the type of map as the heatmap with the group.
© 2003-2019 Stimulsoft
758 Stimulsoft Reports and Dashboards User Manual
In order to group the map elements and apply the heatmap to these groups, you
should specify the type of a map as the Heatmap with Group. In this case, the map
elements are grouped, and then the heatmap will be rendered. At the same time, it
is necessary to fill the Group column or specify the data column in the Group field.
A map of any type is a graphic obj ect consisting of one or more elements. Each element
has its name which is called the key. Each type of the map uses its own keys. For
example, a world map has the keys like the names of countries. For the US maps, the
keys are names of states. For the EU map the keys are names of the European Union
countries. In order to change the value or color of any map element, you must specify
the key. Particularly, it is taken into account when the data for the map will be obtained
from the data source. In this case, entries in the data column (indicated in the Key field
of a map) must be identical to particular of map keys. In other words, in the world map,
country names should match the entries in the data column.
© 2003-2019 Stimulsoft
Report Internals 759
In order to get the map keys, select the type of a map and click Save in the Data tab of
the map editor on the preview panel:
Then choose the path to save the JSON file and confirm saving. This JSON file will
contain the keys of the selected map view. Now they can be integrated into your data
storage.
The Map component provides an opportunity to visualize the data with reference to
© 2003-2019 Stimulsoft
760 Stimulsoft Reports and Dashboards User Manual
geographical location. The data for maps can be specified manually and by passing
from a data source. Consider both of these methods in detail.
Manual
To enter the values manually, you should call the map editor, go to the Data tab and
fill the cells in the table below:
In order to draw the map, simply add the Map component to the report and specify
its view, because the basic Key column is filled by default. In this case, the map
carries only geographical information and will be drawn in one color. In order the
map be informative, you should complete other columns:
The Name column. This column contains the name of the element. For example,
the USA map contains the full name of the states as keys. In the Name column, you
can specify any text that will be displayed when you hover the cursor in the
rendered report. This column is not required to be filled, and, if the text is not
specified, then when hovering the element in the report, the key name will be
shown.
The Value column. This column contains a value for a particular map element.
The value can be any number. The value will also be displayed in the rendered
report when you hover the cursor, if the Show Value is enabled.
The Group column. The values of this column are relevant when the map type is a
map with the group, or a heatmap with the group. In this case, the group keys are
specified. If you want to group some obj ects, you need be sure that their keys
completely match. In this case, the map elements in the rendered report will be
painted in one color. There will also be summed values of the group elements. The
© 2003-2019 Stimulsoft
Report Internals 761
result will be displayed in the rendered report with the Total prefix, when you hover
over any element of the group.
The Color column specifies the color of the map elements in the report. Color is
defined by the #XXXXXX template. If the value in this column is not specified, the
map element will be colored in a color map preset or custom style. If the color is
specified, and the style is set for the map, the specified color will be applied to the
map element.
Once the table is full, you can render a report. Also, entries can be stored in the
JSON file, and can be used in reports in the future. To save the data, you should click
the Save button in the map editor on the Data tab in the preview panel:
In addition to manual data input, the data map can be obtained from the data
source. To do this click the Linked Data button in the map editor, in the Data tab:
© 2003-2019 Stimulsoft
762 Stimulsoft Reports and Dashboards User Manual
In the Link Data menu you can select the data source and specify the column from
the data source for map fields:
The Key field indicates the data column that contains entries identical to map
keys of a specific type.
The Name field specifies a column with the names of map elements.
The Value field indicates a column with values for map elements.
© 2003-2019 Stimulsoft
Report Internals 763
The Group field indicates the data column with keys for the group. In this field,
you should specify the data column, if the map type is defined with the group, or
a heatmap with the group. Grouped map elements in the rendered report will be
painted in one color.
The Color field specifies data column with a set of colors for the map
elements. If the data column is not specified in this field, the map element will be
colored in a preset or custom color of the map style. If the column contains data
(the map style is set) then the color from the data columns will be applied to the
map element.
The StiText component and components, inherited from it, have the TextQuality
property. This property allows selecting/displaying the quality of the text. The property
may have one of three values:
Standard.
Typographic.
Wysiwyg.
In the Standard and Typographic modes, text displaying is performed using a GDI +
system library. The difference between these modes is that in the Typographic mode,
a text is output with antialiasing and looks fine, but the rendering is slow. In the
Wysiwyg mode a text is displaying using the GDI system library. The text in this mode
may not look as beautiful as in the other two modes.
Why do we need GDI, if GDI + exists and it is more beautiful and easy to use? To
answer this question, lets turn to the definition of the WYSIWYG.
WYSIWYG (acronym for "What You See Is What You Get") is a way of editing, in which
the content in the process of editing looks very similar to the final output. With regard
to the reporting tool, this means that the report should look the same when editing a
template, and viewing the finished report printed on paper. However, in practice, it is
not so simple. Many methods can display a text in different ways on different monitors
and in different ways to print it on different printers. This is particularly evident in a
large text: when viewing in the preview with different zoom modes and printing, line
breaks can be located in different places. This occurs due to many reasons. In the GDI +
system library, most of these problems have been solved, but not all, and sometimes
inaccurate displaying still occur. To solve the remaining problems one need full control
of the text output. GDI + does not provide such control. Therefore, the Wysiwyg mode
was added. In this mode a text is output using the GDI. GDI methods allow you to
© 2003-2019 Stimulsoft
764 Stimulsoft Reports and Dashboards User Manual
control the output of each character of a text. This can eliminate almost all the
problems. Thus, the Wysiwyg mode displays the text not as pretty as the other two
methods, but more accurately.
There is another difference between these two modes: as a text in each mode is
displayed in different ways, then the measurement of length of a line is done in
different ways. For example, we have three text boxes with the "Test string" text; set the
TextQuality to Standard for the first text box, to Typographic for the second one,
and to Wysiwyg for the third. Set the AutoWidth property to true for all the text
boxes. In the design mode of the report we get the following:
By sight the difference between these lines is not visible. However, after rendering, the
width of the text boxed will be calculated depending on the width of the text, and we
will immediately see the difference between the modes:
© 2003-2019 Stimulsoft
Report Internals 765
In the above picture it is clearly seen that for different types and sizes of fonts
completely different results are obtained. This must be taken into account, for example,
if you are going to use the Cross-Tab component. In this component the table columns
widths are fit depending on text, and, in different modes, the width of the table can be
changed.
In the above picture clearly shows that for different types and sizes of fonts are
obtained completely different results. This must be taken into account, for example, if
you're going to use the component CrossTab: this component width of the table
columns to fit text, and different modes the width of the table can pretty much change.
Also, as practice shows, WYSIWYG in these applications are often not working properly.
For example, your report in EXCEL in edit mode and in print preview may look different.
Even more differences you will see if in edit mode will begin to change the page scale
from 50% to 200%: at 100% scale text can be placed in a cell at 50% did not reach the
cell edge, and at 200% the last word can be transferred to the next line. Another
example - a multi-line text: with different scale is not always correct calculated line
spacing, and height of text in a cell can vary. At one level in the cell can not fit all the text
strings, ie truncate the text. At another level the same text can be compressed, and the
bottom of the cell will remain blank. Even a team of Excel "Autofit row height" may give
unpredictable results, especially in small fonts.
Therefore, when you export reports in MS-Office, we recommend using some of the
techniques described below. Recommendations can be divided into two parts: general
guidelines for preparing reports and recommendations for each export.
© 2003-2019 Stimulsoft
766 Stimulsoft Reports and Dashboards User Manual
3.32 Table
The Table component is used to output data in a report. This component is similar to
spreadsheets. The table consist of rows and columns in what data can be placed. See on
a picture below a Table component with 5 columns and 5 rows.
This component is designed to simplify the work in the designer. When the report is
rendered, the table is converted into a set of bands and text components. If you need
more flexibility, we recommend you avoid the use of tables in favor of bands, text and
other components.
3.32.1 Columns
The ColumnCount property of the Table component is used to define the number of
columns in a table. On the picture below the table with 3 columns is shown.
© 2003-2019 Stimulsoft
Report Internals 767
3.32.2 Rows
The RowCount property of the Table component is used to define the number of rows
in a table. On the picture below the table with 3 rows is shown.
It is necessary to define the data source to output data in the Table component. The
reporting tool should know how many times do cells must be printed in a table.
Therefore, the Table component should have the reference to the data source. There
are several ways how to do this. You may use the Table editor. Double click on the Table
header to call the editor. Also the Table editor can be called using the DataSource
© 2003-2019 Stimulsoft
768 Stimulsoft Reports and Dashboards User Manual
property of a Table.
The data source can be also selected using the quick access buttons.
© 2003-2019 Stimulsoft
Report Internals 769
It is necessary to put two tables on a page for creating the Master-Detail using the Table
component. Specify Master data source for the first table (this table is the Master table).
Specify Detail data source to the second table (this table is the Detail table). Then you
should bind these two tables using the MasterComponent property of a second table.
There are several ways to set the Master table. The first way - you may set the Master
table in the property grid.
The second way is to set the Master table in the Table designer.
© 2003-2019 Stimulsoft
770 Stimulsoft Reports and Dashboards User Manual
After filling the MasterComponent component two tables will be related to each
other. When printing one data row from the Master data source (and, correspondingly,
printing the Master table), the printing of appropriate rows from the Detail data source
occurs (and, correspondingly, printing the Detail table). The Detail band will not be
printed separately, only in relation to the Master band. On a picture below two related
tables are represented.
© 2003-2019 Stimulsoft
Report Internals 771
© 2003-2019 Stimulsoft
772 Stimulsoft Reports and Dashboards User Manual
The selection is done between relations which are created between Master and Detail
data sources and in what the Detail data source is the child data source.
It is allowed binding bands and tables when rendering the Master-Detail reports. For
example, the master component can be a band and the Detail component can be a
table. The template of such a report is shown on a picture below.
The number of Data bands and Tables which interacts between each other is
unlimited.
© 2003-2019 Stimulsoft
Report Internals 773
It is easy to add grouping to a report with a table. For this you should put the
GroupHeader band before the Table component and the GroupFooter band after the
Table. The condition of grouping is specified for the GroupHeader component. The text
component that outputs the condition of grouping is placed in the GroupHeader band.
It is enough to group a table by the specified condition. On a picture below the table of
grouping is shown.
See the picture below that demonstrates the report with grouping and a table.
Rows in a Table component can be specified as a header. In other words these rows will
always be output in the beginning of a table. The HeaderRowsCount property is used
to indicate how many rows will shown as headers. By default this property is set to 0.
The number of header rows cannot be more than the number of rows in a table.
© 2003-2019 Stimulsoft
774 Stimulsoft Reports and Dashboards User Manual
A table may include footer rows. These rows are output on the bottom of a table. The
FooterRowsCount property is used to indicate how many rows will be used as footers.
By default this property is set to 0. The number of footer rows cannot be more than the
number of rows in a table.
When report rendering using the Table component, width of some cells can be
changed. As a result this may lead to the change of a table size. There are two
properties of Table component which are used to adj ust cells size: the AutoWidthType
property and the AutoWidth property.
The AutoWidth property of a Table component indicates whether the reporting tool
will fix the cells size after the report rendering.
The AutoWidth property is set to None. Column size is not changed. In this case
setting the AutoWidthType property of a table and the FixedWidth property of cells
will not affect on a table.
The AutoWidth property is set to Page. If a rendered table is placed on several
pages then columns will have different width on different pages. It depends on data.
The AutoWidth property is set to Report. If a rendered table is placed on several
pages then columns will have the same width in a report.
© 2003-2019 Stimulsoft
Report Internals 775
The AutoWidthType property of a table indicates how the reporting tool will fix cells
width after report rendering.
None
Columns width is set depending on the cells contents of all table (the longest line by
column is taken). If the FixedWidth property is set to true, then the column size is not
changed.
FullTable
Column width is set depending on the table width. In other words the width of all
column cells is checked first (the column width is set by the longest line). If there is free
space then it is equally distributed between all columns. If there is no enough space to
output the longest lines, then the width of columns is decreased in equal parts between
all columns.
© 2003-2019 Stimulsoft
776 Stimulsoft Reports and Dashboards User Manual
LastColumns
Column width is set depending on the table width. In other words the width of all
column cells is checked first (the column width is set by the longest line). If there is free
space then it is distributed to the last column which FixedWidth property is set to
false. If there is no enough space to output the longest lines, then the width of the last
columns is decreased and distributed between all columns which FixedWidth
properties are set to false.
© 2003-2019 Stimulsoft
Report Internals 777
The FixedWidth property is used together with the AutoWidth property of a Table
component. If a table changes the column size (depending on the AutoWidth
property) then the FixedWidth property that is set to true does not allow these
changes. On a pictures below samples of using these property is shown. On the first
picture the FixedWidth property is not used.
On the second picture the FixedWidth property of the Phone column is set to true.
There are different types of cells can be placed In the Table component. They are a text,
an image, a check, and a rich text.
Text is a cell will be output as a text. Cell settings are the same as the settings of a
Text component;
Image is a cell will be output as a text.Cell settings are the same as the settings of an
Image component;
Check is a cell will be output as a check for Boolean types of data. Cell settings are
© 2003-2019 Stimulsoft
778 Stimulsoft Reports and Dashboards User Manual
Also it is possible to indicate a cell style by clicking the quick access button of a cell.
© 2003-2019 Stimulsoft
Report Internals 779
3.33 Primitives
© 2003-2019 Stimulsoft
780 Stimulsoft Reports and Dashboards User Manual
The Shape is a report component, which, depending on the type, shows this or that
primitive. The ShapeType property is used to specify a primitive type. The picture
below shows a list of values of the ShapeType property:
3.33.1 Cross-Primitives
Cross-primitives include: Vertical Line, Rectangle and Rounded Rectangle. The start
and end points of cross-primitives can be placed on different components of a report.
© 2003-2019 Stimulsoft
Report Internals 781
When designing a report with cross-primitives the report generator renders start and
end points of a vertical line, and then, between two points, it renders a vertical line. The
picture below shows an example of a report template with a rectangle:
As can be seen in the picture, the start and end points of the Rectangle component are
located on different bands: the start point is located in the HeaderBand, and the end
point is in the FooterBand. When rendering the report, the report generator will render
start and end points of the rectangle, and then it will render rectangle sides. The picture
below shows an example of the rendered report pages with the Rectangle cross-
primitive:
© 2003-2019 Stimulsoft
782 Stimulsoft Reports and Dashboards User Manual
3.34 Sub-Reports
The Sub-Report component is used to display another report in the current report. In
this case, the sub-report will be displayed in the current report only within the Sub-
Report component. In other words, when you render a report with Sub-Report
components, the report engine will build all the nested reports and place them in these
components.
© 2003-2019 Stimulsoft
Report Internals 783
A report that will be displayed in the rendered report using the Sub-Report component
can be obtained:
From another page in the report template;
From the file (*.mrt, *.mrz, *.mdc, *.mdz);
By the hyperlink (*.mrt, *.mrz, *.mdc, *.mdz);
From the report resources (*.mrt, *.mrz, *.mdc, *.mdz).
Information
You may place the Sub-Report component on another sub-report. So, the number of
levels of nested reports is unlimited.
To call the editor, double-click the Sub-Report component on the report page:
© 2003-2019 Stimulsoft
784 Stimulsoft Reports and Dashboards User Manual
Settings panel. If the Page tab is selected, the list of report template pages will be
displayed on this panel. Any of these pages can be a resource for the component and,
when rendering the report, it will be displayed on this component.
The Page tab. In this tab, you can select the report template page that will be the
resource for the Sub-Report component.
The File tab. In this tab, you can specify a path to the file (external report) that will be
the resource for the Sub-Report component.
© 2003-2019 Stimulsoft
Report Internals 785
The Hyperlink tab. In this tab, you can specify a link to the external report or to the
resource that will be the resource for the Sub-Report component.
© 2003-2019 Stimulsoft
786 Stimulsoft Reports and Dashboards User Manual
The Parameters tab. In this tab you can add and configure the settings that will be
passed to the sub-report.
© 2003-2019 Stimulsoft
Report Internals 787
Parameters are usually used to filter data or transfer information from the main report
to a sub-report. To add a parameter, you should:
Call the editor of the sub-report;
Go to the Parameters tab;
Click the Add button;
Specify the name of the parameter and its expression.
After that, you should go to the resource of the Sub-Report component (a page or
another report) and specify this parameter, for example, in the filter expression.
3.34.2 Report sample with parameters
Let's create a report with products by category. The list of categories will be located in
the main report, and the list of products will be located in the sub-report (on another
© 2003-2019 Stimulsoft
788 Stimulsoft Reports and Dashboards User Manual
Step 6: Place the Sub-Report component on this band. At the same time, the new
page subReport_1 will be added to the report template;
© 2003-2019 Stimulsoft
Report Internals 789
Step 7: Go to the new page of the report template and place a band with the list of
products, titles and totals, if required;
Information
If you go to the Preview, then, for each category, the entire list of products will be
displayed without considering to which category the products belong to. In order to
display only products which belong to the category, you should add a parameter with
category keys and transfer them to the sub-report.
Step 9: Call the editor of the sub-report and go to the Parameters tab;
Step 10: Add a new parameter, specify a name and column Categories.CategoryID as
an expression;
© 2003-2019 Stimulsoft
790 Stimulsoft Reports and Dashboards User Manual
Step 11: Go back to the products page and specify the filter expression using this
parameter Products.CategoryID == (int)this["CategoryID"];
© 2003-2019 Stimulsoft
Report Internals 791
© 2003-2019 Stimulsoft
792 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 793
The CanGrow property of the Sub-Report component is always set to true but, when
placing this component, it cannot be grown by height. So you should take into the
account the height of the component on the nested page: it should not be higher than
the Sub-Report component. When rendering a report, the Sub-Report component,
placed on the report template, will be rendered as the report page item. When
rendering a report, the reporting tool will render all sub-reports and place them in the
container of the Sub-Report component. The picture below shows a sample of placing
the nested page in a report:
© 2003-2019 Stimulsoft
794 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 795
In this case the height of the component on the sub-report page of a report will be
higher than the height of the Sub-Report component. So the Sub Report component
is placed in the DataBand and rendered as the item of the DataBand, and, in this case,
the CanGrow property works and the component can grow by height.
3.34.5 Master-Detail Reports and Sub-Reports
You can build a Master-Detail report using the Sub-Report component in several ways:
Pass parameters from Master entries to Detail by filtering data;
Using the Master Component property in the Data band.
© 2003-2019 Stimulsoft
796 Stimulsoft Reports and Dashboards User Manual
In this example the DataBand1 can be defined as the Master for the DataBand2 that
is placed in the sub-report page of a report. For this you need to choose the Master
component in the data settings. The picture below shows the sample of the Data
Setup window:
© 2003-2019 Stimulsoft
Report Internals 797
As you can see, the DataBand1, that is placed on the report page, is the Master in the
Master-Detail report. If several DataBands are placed on the sub-report page then,
when creating the Master-Detail report, the Master is either the DataBand in what
the Sub-Report is placed or any other DataBand, placed in the sub-report page.
3.34.6 Side-by-Side Reports and Sub-Reports
You can use the Sub-Report component to create the Side-by-side report. The Side-
by-side report consists of independent lists of data, located side by side. The picture
below shows an example of a Side-by-side report template with the location of the
Sub-Report component on on a page of the report template:
© 2003-2019 Stimulsoft
798 Stimulsoft Reports and Dashboards User Manual
As you can see on the picture above, when rendering a report, independent data lists
will be displayed, i.e. two Side-by-side sub-reports will be built. Thus it is possible to
build more complex reports: for example, put three Sub-Report components together
side by side, and then, when rendering a report, three independent data lists, i.e. three
Side-by-side sub-reports will be output.
You should also remember that the Sub-Report can be placed in the DataBand.
Accordingly, put two or more Sub-Report components to build Side-by-side reports
in one DataBand. The picture below shows an example of the Side-by-side report
templates with the location of the Sub-Report component in the DataBand:
© 2003-2019 Stimulsoft
Report Internals 799
3.35 Functions
The data dictionary is represented by the Functions category. This category contains the
elements using which you can calculate a certain total or return the desired value. All
elements of the Function category are divided into groups. The table below shows a list
of functions and their brief description and examples.
© 2003-2019 Stimulsoft
800 Stimulsoft Reports and Dashboards User Manual
Date:
{DateDiff(,)} Calculates the distance {DateDiff(DateSerial(2016,
between the specified dates 1,30),DateSerial(2016,1,1))
Arguments should be of } - the result is 29.00:00:00,
the DateTime type that means 29 days.
Returns the TimeSpan {DateDiff(DataSource.Colu
value mn1,DataSource.Column2)
} - the result will be
calculated for each value in
Column1
{DateSerial(,,)} Specifies date. {DateSerial(2016,1,30)} -
Arguments should be the result is 1/30/2016
year, month, day 12:00:00 AM
Returns the DateTime The function returns the
value DateTime value, but if you
want to display only the
date, you should apply text
formatting to the text
component
{Day()} Shows a day from the {Day(DateSerial(2016,1,30)
specified date )} - the result is 30, since in
Arguments should be of arguments the January 30
the DateTime type 2016 is specified
Returns the long value {Day(DataSource.Column)}
- the result will be
calculated for each Column
value
{DayOfWeek()} Display a day of the week {DayOfWeek(DateSerial(20
from a specified date in text 16,1,30))} - the result is
form. Saturday.
In arguments specify: {DayOfWeek(DataSource.C
Date (the DateTime type) olumn)} - for each value a
Culture (the string type) day of the week will be
The value true or false calculated
(the bool type), to display
the result with a capital {DayOfWeek(DateSerial(20
letter or with a lowercase 16,1,30),"de")} - the result
© 2003-2019 Stimulsoft
Report Internals 801
{DayOfWeek(DateSerial(20
16,1,30),"en", false)} - the
day of the week will start
from the lower-case letter,
i.e. saturday.
{DayOfWeek(DataSource.C
olumn,"de", true)} - the
days of the week will start
with the capital letter, for
example Samstag.
{DayOfWeek(DateSerial(20
16,1,30), false)} - the day of
the week will be displayed
on the culture that is used
by the system.
{DayOfWeek(DataSource.C
olumn, true)} - the day of
the week will be displayed
in the culture that is used
in the report designer.
{DayOfYear()} Displays a day of the year {DayOfYear(DateSerial(201
Specifies the date in the 6,2,14))} - the result is 45,
argument (the DateTime since February 14 is the
type) 45th day of a year.
Returns the long value {DayOfYear(DataSource.Co
lumn)} - for each value of
the Column the data of a
year will be calculated.
{DaysInMonth()} Displays the number of {DaysInMonth(DateSerial(2
days in the month: 016,2,1))} - the result will
In arguments specify: be 29, because 2016 is a
© 2003-2019 Stimulsoft
802 Stimulsoft Reports and Dashboards User Manual
{DaysInMonth(2016,3)} -
the result will be 31, since
there are 31 days in March.
{DaysInYear()} Displays the number of {DaysInYear(2016)} - the
days in a year: result will be 366 days,
Specifies the date in since 2016 is a leap year.
arguments (the DateTime {DaysInYear(DataSource.C
type) or a year (the long olumn)} - for each value of
type) the Column the number of
Returns the long value days in a year will be
calculated.
© 2003-2019 Stimulsoft
Report Internals 803
displayed.
{MonthName(DateSerial(2
016,1,1), false)} - the name
of the month will be in
lower case.
{MonthName(DataSource.
Column, true)} - the name
of the months will start
with a capital letter.
{MonthName(DateSerial(2
016,1,1), false)} - the name
of the month will
correspond to the culture
used by the system.
{MonthName(DataSource.
Column, true)} - the names
of months will correspond
© 2003-2019 Stimulsoft
804 Stimulsoft Reports and Dashboards User Manual
Math:
{Abs()} Displays the absolute {Abs(-42)} - the result is 42
number. {Abs(DataSource.Column1)
Specifies the number is } - the result will be
arguments (the absolute numbers from
double,decimal,long type) the values of Column1, i.e.
Returns respectively without considering the
double, decimal, long number.
{Acos()} Displays the angle value in {Acos(-1)} - the angle in
radians. radians will be calculated
The cos values in for the value cos = -1, i.e.
arguments (the double the angle will be ~ 3.14.
type) {Acos(DataSource.Column
© 2003-2019 Stimulsoft
Report Internals 805
Returns the angle value in 1)} - for all cos values, the
radians of the double type angle in radians will be
calculated.
{Asin()} Displays the angle value in {Asin(0)} - the angle in
radians. radians will be calculated
The sin value in for the value sin = 0, i.e.
arguments (the double the angle is 0
type) {Asin(DataSource.Column1
Returns the value of the )} - for all sin values, the
angle in radians of the angle will calculated in
double type radians.
{Atan()} Displays the angle value in {Atan(-1)} - the angle in
radians. radians will be calculated
The tan value in for the value tan = -1, i.e.
arguments (the double the angle will be ~ -0.79
type) {Atan(DataSource.Column
Returns the value of the 1)} - for all tan values the
angle in radians of the angle in radians will be
double type calculated
{Ceiling()} Displays the maximum {Ceiling(25.124)} - It is
integer value for a specified worth noting that when
number this function is used, the
The value is specified in number is not rounded.
arguments (the double, {Ceiling(25.9)} - the result
decimal type) is 26
Returns the value of the {Ceiling(DataSource.Colum
angle in radians of the n)} - for all Column values,
double and decimal type the nearest maximal
integers will be found and
displayed.
{Cos()} Calculates and displays the {Cos(0)} - the result is 1.
cos value: {Cos(DataSource.Column1)
The value of the angle in } - for all values, the cos of
radians is specified in the angle will be
arguments (the double calculated.
type)
Returns double, decimal
values
© 2003-2019 Stimulsoft
806 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 807
© 2003-2019 Stimulsoft
808 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 809
Print State:
{IsNull(,)} Identifies null values in the {Next(DataSource.Column)
specified data column. If } - in the rendered report,
there is a null value the instead of null values, the
result is true, otherwise - true values will be output,
false. and instead of other values
In arguments, the false values will be shown.
following is specified:
The data source (the
obj ect type)
The column name (the
string type).
© 2003-2019 Stimulsoft
810 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 811
string type).
Programming Shortcut:
{Choose()} Displays the value by index. All product groups are
The arguments, specify grouped by category:
the index and values. expensive goods, medium
Returns values by index. price goods, cheap goods.
An index is assigned to
each group: expensive -
index 1, average - index 2,
cheap - index 3. The report
should be displayed
instead of their index -
category. In this case, you
can use the Choose
function.
{Choose(DataSource.Colu
mn1, "expensive",
"average", "cheap")} -
instead of index 1, the
value expensive will be
displayed, instead of index
2 - average, instead of
index 3 - cheap.
{IIF(,,)} Used to display a particular In the inventory report,
value, depending on the you need to track the
condition: number of items. The
In arguments, the logistician's task is that,
condition is specified, the when the quantity of
value if the condition is true goods is coming to 0 (less
(true) and the value if the than 6), it is necessary to
condition is false (false) order these goods. In order
Returns the value of the to highlight critical
obj ect type positions in the report
© 2003-2019 Stimulsoft
812 Stimulsoft Reports and Dashboards User Manual
{IIF(DataSource.Column1 >
6,"Minimum","Normal")},
where
DataSource.Column1 - the
column with the values of
the quantity of goods, 6 -
the extreme quantity of
goods, Minimum - the
value that will be displayed
if the stock of goods is less
than 6, Normal - the value
to be displayed if the stock
of goods is 6 or more.
{Switch()} Assigns the specified value For example, a list of
when the specified employees is displayed in
condition is complete: the report, and you need to
In arguments, specify the display their position:
condition and the value that Nancy is the lead proj ect
will be assigned, if the manager, Andrew is the
condition is complete. Such chief developer, the
condition-value pairs can be remaining employees (6
specified people) are Juniors. In this
Returns the value of the case, the Switch function
obj ect type will have three pairs of
"condition-value"
arguments:
{Switch(Employees.FirstNa
me == "Nancy",
"Manager",
Employees.FirstName ==
"Andrew", "Developer",
Employees.FirstName! =
"", "Junior" )}
Strings:
© 2003-2019 Stimulsoft
Report Internals 813
{DateToStrPtBr(DataSource
.Column1)} - the dates will
be displayed in text form in
the Brazilian language.
© 2003-2019 Stimulsoft
814 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 815
© 2003-2019 Stimulsoft
816 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 817
© 2003-2019 Stimulsoft
818 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 819
© 2003-2019 Stimulsoft
820 Stimulsoft Reports and Dashboards User Manual
Totals in-depth
3.35.1 Totals
In the report, besides the list of data and its title, totals are present. This can be the
amount, quantity, minimum, average, maximum value for a particular source, band or
page. Depending on the desired result, you should select the type of the total function.
All results of the functions can be divided conditionally into two types:
Associated with bands. In this case, the results are calculated at the time of the report
creation process. Every time, when one operation is performed with Data band, a single
value is calculated. Appropriately, the text component with the total should be placed
on any bands which associates directly with any band that is associates with the Data
band.
Not associated with bands. In this case, calculation of totals is not associated with the
operation of rendering the Data band. Consequently, the text component with the total
functions can be located anywhere in the report. It is worth noting that all functions
have the Totals prefix. It is the format - {Totals.Functions ()}.
In order to calculate and display the total, you should place a text component in the
report, call the editor and go to the Summary tab.
The Expression field. This field specifies an expression of calculating totals. The
expression can be specified manually or it will be generated automatically, depending
of type of other parameters.
The Summary Function field. In this field, the function of calculating totals is
selected.
In this field you can specify the Data band by which the total will be calculated.
© 2003-2019 Stimulsoft
Report Internals 821
In this field you can specify by the data column which values will be used to calculate
the total.
Using the radio buttons, you can set the obj ect for calculating totals:
Report. The total will be calculated for the entire report.
Column. Totals will be calculated by every column in the report.
Page. Totals will be calculated by every page of the rendered report.
The Running Total parameter. If the flag is checked, then the total will be calculated
as running. If unchecked, then the total will be calculated only by the proj ect (report,
column, page).
The Conditions parameter. If the flag is checked, then the condition will be
considered when calculating totals. If unchecked, then the total will be calculated
without considering conditions.
The field, which specifies an expression of a condition.
By default, the function for calculating totals return the Decimal type (except for the
functions - Count and CountDistinct). However, you can also make calculations using
two other data types - Double, and Int64. For the function returns the result of the
calculation using the Double data type, add the Latin letter D in the upper register to the
name of the function. For calculations using the Int64 type, you should add the Latin
letter I in the upper register. This separation will allow to avoid losses in the calculation
of totals.
Sum() Decimal
SumD() Double
SumI() Int64
Notice: The letters I, D can be added to any function except Count and
CountDistinct. These functions always return the Int64 type.
When using the C# programming language, all the functions should be written strictly
in compliance with the register.
© 2003-2019 Stimulsoft
822 Stimulsoft Reports and Dashboards User Manual
In the case with calculations by a page or a container, the syntax is the same except for
the addition of the Latin letter c as the prefix to the function name:
cSum (expression) - calculation of the sum by the page or container;
cSum(band, expression) - calculation of the sum by the page or container and obj ect
on it;
cSumIf (band, expression, condition) - calculation of the sum by the page or container
and obj ect on it, under certain conditions.
To calculate totals by the column, add the col prefix to the function name:
colSum (expression) - the sum is calculated by the column;
colSum (band, expression) - the sum is calculated by the column and an obj ect in it;
colSumIf (band, expression, condition) - the sum is calculated by the column and
obj ects in it, under certain condition.
The Count function differs from the rest of the functions that it has no expressions for
calculation. The syntax for this function is shown below.
Count() - calculates the number of rows;
CountIf(condition) - calculates the number of rows by the condition;
Count(band) - calculates the number of rows by the obj ect;
CountIf(band, condition) - calculates the number of rows by the obj ect and condition;
cCount() - calculates the number of rows by the page and container;
cCount (band) - calculates the number of rows by the page (container) and an obj ect
on it;
cCountIf(band, condition) - calculates the number of rows by the page (container)
and an obj ect on it under certain condition;
colCount() - calculates the number of rows by the column;
colCount (band) - calculates the number of rows by the column and the obj ect in this
column;
colCountIf(band, condition) - calculates the number of rows by the column and the
obj ect in the column under certain condition.
© 2003-2019 Stimulsoft
Report Internals 823
Typically, the components, in the text expression of which the function call is specified,
are placed on the footer band on the Data band. There are several types of footer
bands:
ReportSummaryBand - the band is used to display totals for the entire report;
PageFooterBand - the band is used to display totals by the page;
FooterBand - the band is used to display totals by the list;
GroupFooterBand - the band is used to display totals by the group.
ColumnFooterBand - the band is used to display totals by the column.
Position of components with functions in any of the bands mentioned above allows the
report generator to determine exactly to what data band this function is applicable. Also
a component with the functions can be placed on the Data band. In this case, on each
data row, the result of the function calculation by all rows will be displayed.
If you want to display the total, for example, on the Header band, then this is done using
a script. However, in Stimulsoft Reports, the component with the function may be in
any band of the report.
Notice: The components with functions can be placed anywhere in the report.
It is also allowed to place a component with the function on a page and on other pages
of the report template. For example, it is possible to calculate the sum of values by the
list and output it in the header list. Another example, calculate the number of rows in
the list and output the value at the beginning of the page. At the same time, there is a
limitation: you must specify the Data band, in which the result will be calculated:
{Sum (DataBand1, Products. UnitsInStock)}. In this case, the total will be calculated for
the Products.UnitsInStock column values for each row of DataBand1.
{Count (DataBand1)}. In this case, the number of rows of DataBand1 will be
calculated.
© 2003-2019 Stimulsoft
824 Stimulsoft Reports and Dashboards User Manual
be set for the Sum function - an expression that should be calculated. All this is possible
if the report generator can determine to which Data band those functions are related.
Notice: The report generator can determine the relationship between functions and
specific Data band, if the component with this function is related to the band with the
Data band. In other words, the component with the function is located on the Header
and Footer bands that relate to this Data band.
Otherwise, in the arguments, you should specify the data source or a Data band on
which it is necessary to calculate the total. The following can be specified in expressions:
The obj ect which values will be calculated - {Sum (DataSource.Column)}
The obj ect and various mathematical operations with them - {100 + Sum
(DataSource.Column) * 2}
In order to calculate the total by the page or panel, you should add the Latin letter "c" in
lower case as a prefix to the name of the function:
{AcCount (DataBand1)} - the report engine calculates the number of lines on one
page or a panel.
Notice: The calculation of totals by the page has the same principle as for the panel.
When calculating totals by the panel or page, it is desirable to specify the Data band by
which goes the calculation of the aggregate function. It is necessary because there may
be more than one Data band on one page.
On one page or panel you can use any number of aggregate functions. Stimulsoft
Reports does not have any restrictions with this. It is allowed to combine the totals by
the page with the condition. For example:
In order to calculate the total by a column, you must add the prefix col (from the word
column) in the lowercase to the name of the function. For example:
© 2003-2019 Stimulsoft
Report Internals 825
{ColCount ()} - the report engine calculates the number of rows in each column.
When calculating totals by the column, it is desirable to place text components with
functions on ColumnHeader, ColumnFooter, Header or Footer bands. You can calculate
an unlimited number of totals by the column. There are no restrictions in this. It is also
allowed to combine the footers by the column with the condition:
Using Stimulsoft Reports you can calculate functions in code of the report event. It
provides the ability to calculate the more complex functions. Also in this case, you can
refer to the calculated value from the code in the process of calculation and to influence
this process. In order to make this calculation, you should create a variable in the data
dictionary, which will store the value of the function.
Notice: Do not use variables declared in the code to store the result of calculation of
functions. You must use the variables from the data dictionary.
When creating a variable, the data type of the variable is indicated. For example,
Decimal, and the initial value, for example, 0. Then, in the Data band, indicate an
expression to increment variable in the Rendering event. For example, if you want to
calculate the sum of the values by the field Products.UnitPrice field, the expression will
be the following:
Variable + = Products.ItemsInStock;
In order to display the result of calculation, you should place the text component with
the expression:
{Variable}
Also, you must have a text component with the expression {Variable}, set the Process At
property to the End of Report value. It is necessary that the report generator calculates
© 2003-2019 Stimulsoft
826 Stimulsoft Reports and Dashboards User Manual
Notice: If you want to make a calculation using a Double or Int64, you must first add
the Latin letter D or I, and then the word If. For example:
{SumDIf(Products.UnitsInStock,Products.UnitsInStock> 0)}.
Notice: When rendering a report, at the moment, when the size of the component
is determined, the result of the calculation of the total function is still unknown. This
should be considered when installing the automatic resizing for the components in
which the calculation of totals is done. Otherwise, an issue may arise when the size of
the component will not be correct in relation to the result of calculation of the total
function.
The Data band can be disabled in a variety of ways. For example, it can be disabled by a
certain condition or it may have a zero height. By default, when rendering a report, the
report engine does not take into account disabled data bands and will not process
them. However, if it is necessary to calculate totals by the disabled Data band, then you
should set the CalcInvisible property for this band to true. In this case, the report will
only be displayed the Data included bands, and calculation of totals will be executed
considering the Data band.
© 2003-2019 Stimulsoft
Report Internals 827
When calculating totals in hierarchical reports, there are some issues in calculating the
result. Consider an example based on the Master-Detail Report. Suppose the report
shows a list of product categories. Categories, in this case, are master entries, and
products are detail entries:
Suppose you want to count the number of products to be displayed in the report. If you
add the Footer band with the function Count() to the band with a list of products (detail
records), then, by each category (master record), totals will be calculated:
If you add the Footer band with the function Count() to the band with the categories,
the result is the number of master entries in the report, i.e., the number of categories.
However, in the Master-Detail report, you can calculate the totals immediately for all
detail records. In this case, you must specify the names of both (master and detail)
bands as a function with a colon: Count(MasterBand:DetailBand).
© 2003-2019 Stimulsoft
828 Stimulsoft Reports and Dashboards User Manual
Totals Functions:
Function Description Sample
© 2003-2019 Stimulsoft
Report Internals 829
{CountDistinct(DataBand2,
DataSource.Column2)} - the result is the
number of unique entries in Column2 column
for DataBand2.
{First()} Displays the first {First(DataSource1.Column1)} - the result is
value from the the first value of Column1 from the
specified obj ect: DataSource1.
In arguments,
specify an obj ect or {First(DataBand2, DataSource.Column2)} - the
two obj ects result is the first value of Column2 of the
© 2003-2019 Stimulsoft
830 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 831
© 2003-2019 Stimulsoft
832 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 833
TimeSpan types
{SumDistinct(DataBand1,DataSource.Column1,
DataSource.Column2)} - the result is the sum
of the Column2 values that correspond to the
unique values from Column1 of the
DataBand2.
In this report, the result can be calculated for each category for the entire report. It is
also possible to calculate the proportion of each category of the total. To begin, let's
calculate the amount of product in a category. To do this, add the Footer band in the
report template, put a text component with an expression of calculating totals
{Sum(DataBand2,Products.UnitPrice)}. For the summation of values, the Sum function is
used, its arguments specify the obj ect by which the totals and data column will be
calculated, the values
of which will be summarized. Since it is necessary to calculate the
© 2003-2019 Stimulsoft
834 Stimulsoft Reports and Dashboards User Manual
amount of product by each category, the obj ect for calculating totals will be the detailed
Data band, i.e. DataBand2. Values in the UnitPrice column indicate the price of each
product. Therefore, the sum of these values
will be the total for the category:
In this case, the result is associated with the Data band. To calculate the total by the
report, use the functions which are not associated with bands. For this, add a prefix
Totals to the function, through the "." separator. As an obj ect, you should specify the
data source. The expression for calculating totals in the report, will be
{Totals.Sum(Products, Products.UnitPrice)}. The result is displayed on the master band.
© 2003-2019 Stimulsoft
Report Internals 835
Each time, when the master band is printed in the report, the total by the report will be
shown. Using the results of calculations, it is possible to calculate the share of each
category of the grand total. The result is displayed as a percentage. To calculate the
proportion, you should divide the total by the category on the total by the report -
{(Sum(DataBand2,Products.UnitsInStock) / Totals.Sum(Products,
Products.UnitsInStock))}. For the text component, in which the share is displayed, set the
percentage format. The result is displayed on the master band.
© 2003-2019 Stimulsoft
836 Stimulsoft Reports and Dashboards User Manual
Thus, you can calculate any total in the report. To calculate the total not associated with
bands you should use the prefix Totals to the name of the function, and use the "."
separator.
3.36 Interaction
Stimulsoft Reports has a set of features to render interactive reports. They are
bookmarks, hyperlinks, Drill-Down links, dynamic sorting, dynamic collapsing, editing
reports in the window of preview. All these features are described in chapters below.
3.36.1 Bookmarks
Bookmarks are used to show the structure of a report. Also bookmarks are used to
mark the component to make a reference on it using hyperlinks. All components have
the Interaction.Bookmark property. The expression, specified in this property, is set in
the BookmarkValue property. Setting occurs when the report rendering. This property
© 2003-2019 Stimulsoft
Report Internals 837
is invisible in the Properties panel but it can be called from the report code or refer to
it from the expression. Before showing a report in the window of preview, Stimulsoft
Reports views all components of a rendered report and logs a tree of bookmarks.
The tree of allows viewing the hierarchical structure of a report. For example, two
bookmarks were specified: one on the Master band and the second on the Detail
band. In this case, each element of the Master band bookmark fits to a node of the
bookmarks tree. All elements of bookmarks from the Detail bands will be added to the
proper node of the Master band.
© 2003-2019 Stimulsoft
838 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Internals 839
Bookmark.Add("My Bookmark");
To add a bookmark of the second level to the tree it is necessary write the following
code:
To create all three bookmarks the code sample shown above can be used. Stimulsoft
Reports automatically checks presence of each bookmark in a tree and will add ones
which should be added. Sometimes it is required to organize navigation using
bookmarks. If it is necessary to find components the Interaction.Bookmark property
of these components should be logged. The value of the Interaction.Bookmark
property should be the same with the name of the created bookmark. For example, add
© 2003-2019 Stimulsoft
840 Stimulsoft Reports and Dashboards User Manual
the bookmark:
Bookmark.Add(Customers.CompanyName);
{Customers.CompanyName}
As a result all components will be marked with bookmark with the company name. The
same company name will be added to the report tree. And, when clicking on the
bookmark node of the report tree, all components will be found.
%\name1\name2...\nameN
In the name of the bookmark the following things can be specified: function, expression,
data source column, system variables, random names, aliases and more. To make a flat
report with the hierarchy of bookmarks, create a single Data band, place the band on a
© 2003-2019 Stimulsoft
Report Internals 841
text component with the Company Name data source column. The picture below
shows an example of a report template:
When rendering the report a list of companies will be built, but the tree of bookmarks
will not be shown. To show the hierarchy of bookmarks it is necessary to specify an
expression (see below an axample):
%\{Customers.Country}\{Customers.CompanyName}\{Customers.Phone}
As seen from the expression the hierarchy of bookmarks will be represented in three
levels:
The highest level will be represented as bookmarks which correspond to the name of
the country.
The middle level will be represented as bookmarks which correspond to the name of
the company.
The lowest level will be represented as bookmarks which correspond to the phone
number of the company.
© 2003-2019 Stimulsoft
842 Stimulsoft Reports and Dashboards User Manual
Nesting depends on which components generated bookmarks. For example, the page
bookmark will always be one level higher then other bookmarks. The bookmark,
created with the Group Header band, is one level higher then the bookmark, created
by the Data band, in this group. In the Master-Detail relation the Master bookmark will
enable all Detail bookmarks. For example, we have a report with a group.
Group
--Data 1
--Data 2
--Data 3
Group
© 2003-2019 Stimulsoft
Report Internals 843
--Data 1
--Data 2
--Data 3
In this report groups include data. And bookmarks from the group will include
bookmarks from data. As a result we get the same structure in the tree of bookmark.
For example:
Group 1
--Group 2
----Data 1
----Data 2
----Data 3
Group 1
--Group 2
----Data 1
----Data 2
----Data 3
In the tree of bookmarks two nodes will be created. They are Group 1, Group 1. Each of
these nodes will include the Group 2 node. The Group 2 nodes will include the data
nodes. For example, the Master-Detail report:
Master-Data
--Data 1
--Data 2
--Data 3
Master-Data
--Data 1
--Data 2
--Data 3
In this example the nodes of the Master band form the Master-Data nodes. Each of
these nodes will include nodes formed with the Detail band.
3.36.2 Hyperlinks
© 2003-2019 Stimulsoft
844 Stimulsoft Reports and Dashboards User Manual
In this way you should put the # symbol before the hyperlink text. This makes the
report generator to understand that this is a reference inside of a document. If, in the
window of preview, a user clicks on this component then the report generator will start
to search all bookmarks of this report. If the bookmark name concurs with the
hyperlink name (the # symbol is skipped) then this component will be displayed in the
window of preview. It is important to remember that a bookmark is shown in the tree
of bookmarks.
Notice: The Interaction.Bookmark property contains the text marker by what this
component will be found, when hyperlink processing.
In this case it is necessary to add two # symbols before a hyperlink. In this case the
search is executed using the Interaction.Tag property of components (two # symbols
in the text of a hyperlink are skipped). Interaction.Tag properties are not shown in the
structure of a report. If one want to make navigation without bookmarks showing in the
structure of a report then one should use this way.
Notice: When using the Interaction.Tag property, one should not use the hyperlink
to another component in a report in ASP.NET. In ASP.NET, when creating a report, it is
impossible to use hyperlink to another component in a report, created using the
Interaction.Tag property.
In this way any symbols to a hyperlink should not be added. The string of a hyperlink is
directly sent to the OS for processing. For example, for Notepad start j ust write the
following code:
notepad.exe
© 2003-2019 Stimulsoft
Report Internals 845
http://www.site.com
mailto: [email protected]
Notice: When Web reports rendering, bookmarks can be put only on visible fields.
For example, on a text, on an image. Otherwise this hyperlink will be ignored. This
principle is to be considered when exporting reports to other formats
© 2003-2019 Stimulsoft
846 Stimulsoft Reports and Dashboards User Manual
It should also be noted that the specification can be multi-level. In other words,
detailing can also be interpreted, i.e. an hierarchy of detailing can be built. For example,
a report with the names of categories will have details of products within a specific
category. A report with products will have detailing by producers, for a particular
product, etc. The picture below schematically shows the levels of detailing:
As can be seen from the picture above, a report can be interpreted as reports B1 and
B2. This is the first level of detailing. Reports B1 and B2, in turn, have detailing as
reports C1, C2, C3 and C4. This is a detailing of the second level. Consider the creation
of frill-down reports in more detail.
© 2003-2019 Stimulsoft
Report Internals 847
The drill-down report using a report page means an interactive report in which
detailing goes using a different page of this report template. To create this report, you
should set the value of the Interaction.Drill-Down Page property for a component,
which should be detailed. The value specifies a page with detailed information.
Consider the example of a Drill-Down Report using the page. The Data Band and a
text component in it should be placed in the first page of the report template. Specify
the data source Shippers for the band. In the text component indicate the expression
{Shippers.ShipperID} and {Shippers.CompanyName}. On the second page of the
report put a Data Band and a text components in it, select the data source Orders for
this band. Insert the expressions in the text components: {Orders.ShipVia},
{Orders.ShipName} and {Orders.ShipCountry}, respectively. The picture below
shows two pages of the report template:
Also, add the Header Band on a page with detailed data. Then, select the text
component with expressions {Shippers.ShipperID} and {Shippers.CompanyName}
and change the values of some properties. The Interaction.Drill-Down Enabled
property must be set to true. Then, set the value of the Interaction.Drill-Down Page
property to the page on which the detailed data are placed. In this case, it is the Page2.
The picture below shows a window for selecting detailing pages:
© 2003-2019 Stimulsoft
848 Stimulsoft Reports and Dashboards User Manual
Also, specify the Drill-Down Parameters, if necessary. In each setting you should
change the following properties: Name and Expression. In this case, define a detailed
parameter with the name ShipperID and the expression Shippers.ShipperID. Set data
filtering in the Data Band, which will contain detailed data, . To do this, add a filter and
specify a filtering expression: (int)this["ShipperID"] == Orders.ShipVia. After that,
you should render a report. The picture below shows a rendered page of the report:
As can be seen from the picture above the page with the main data is rendered. To
display detailed information, you should click the rendered text component. Then, the
report generator, considering the Drill-Down Options and filtering data on the Data
Band, renders the second page of the report template. The picture below shows a
schematic detailing of the report:
© 2003-2019 Stimulsoft
Report Internals 849
The drill-down report with another (external) report means an interactive report in
which the main and detailed data are located in different reports. It is possible to create
such a report using the Interaction.Drill-Down Report property. Consider the
example of a Drill-Down Report using an external report. First, create a report with
detailed data. This report will contain a list of products and their prices. Put the Data
Band in the page of the report template with text components which contain
expressions: Products.ProductID, Products.ProductName and Products.UnitPrice.
For this band, you should select the data source Products. Also add the Header Band.
The picture below shows a page template with detailed information:
Then, select the text component and change the values of some properties. The
Interaction.Drill-Down Enabled property must be set to true. Then, set the value of
the Interaction.Drill-Down Report property to the full path to the report with
detailed data.
Also, specify the Drill-Down Parameters. In each parameter you must change the
following properties: Name and Expression. In this case, define a detailed parameter
with the name CategoryID and the expression Categories.CategoryID. Then render a
© 2003-2019 Stimulsoft
850 Stimulsoft Reports and Dashboards User Manual
As can be seen from the picture above template page will be rendered with the main
data. To display the detailed data, click the rendered text component. The report
generator will run the report and render it, considering the parameters of the detailing
and filtering. The picture below shows schematically the report:
One of the drill-down types is the interactive selection. The Interactive Selection can be
used to produce data detailing on the same page, on which the main data are placed.
Creating a report with the interactive selection is possible using the
Interaction.Selection Enabled property. Only a Data Band has this property.
Consider the example of a report using the interactive selection. Open a report with the
list of categories and products related to these categories. The picture shows a report
template:
© 2003-2019 Stimulsoft
Report Internals 851
Select the Data Band in order to enable interactive selection. In this case, the band that
contains the names of categories (the band which has a text component with the
expression Categories.CategoryName) will be selected. Set the
Interaction.Selection Enabled property of this selected band to true. After that, add a
filter to the detailed band, if necessary. In this example, the filter will be added to the
Data Band that contains information about products. Set a filtering expression, in this
case it is DataCategories.SelectedLine == Products.CategoryID. Then, render a
report. The picture below shows a page of the rendered report with interactive
selection:
As can be seen from the picture above, the category Beverages was selected. This
category has been detailed and displayed showing products in this category. Also, in
this picture you can the category Dairy Products highlighted when the cursor is
hovered. In addition, it should be noted that in the interactive selection the multi-level
nesting may also be present.
© 2003-2019 Stimulsoft
852 Stimulsoft Reports and Dashboards User Manual
When you create an interactive report using Drill-Down relations, there is a possibility
in the report generator to specify the parameters to be passed from the main report to
the detailed one. For example, you can pass a parameter to be used for filtering data in
a detailed report. Also, you can initialize properties (Report Alias, Report Title, Report
Description) of the detailing a report by specifying them in the parameters of the
detailed report. Suppose there is an interactive report that contains the category names
and details of products related to these categories. Let's make each detailed tab has the
category name by which it is open. To do this, change the values of properties for the
group Drill-Down Parameter:
Specify the name of the parameter in the field of the Name property. In order to
initialize a report property, you must specify its name in the name of the detailed
parameter. In this case, you must specify the ReportAlias.
In the field of the Expression property specify an expression that is evaluated each
time you pass a parameter to the report. In this case, you must specify the expression
Categories.CategoryName.
Now, in the rendered report, a tab with the detailed data will have the category name,
which has been interpreted. The picture below shows a report that was built with the
tabs of detail:
As can be seen from the picture above, the categories Beverages, Confections,
Grains/Cereals, Produce were detailed. And the tab, which is located on the detail of
these categories have names of categories, respectively.
Detailed description of using parameters can be found at Drill-Down Report Using Page
in Report and Drill-Down Report Using External Report.
© 2003-2019 Stimulsoft
Report Internals 853
performed both on a single data column as well as in several ones. Set the
Interaction.Sorting Enabled property of the component, by clicking on which the
dynamic sorting by one column will be enabled, to true and change the value of the
Interaction.Sorting Column property. The value of this property is the data column,
by which dynamic sorting will be done. It should be noted you can specify only one
data column for one component. Then, select the component to which dynamic sorting
was set. Dynamic sorting is carried out in the following directions: Ascending and
Descending. Each time you click the component, the direction is reversed. The picture
below shows a report page with dynamic sorting:
If you need to sort by multiple columns simultaneously, it can be done by pressing the
Control button. Consider the following example. Suppose there is a report that contains
the names of categories and a list of products. The picture below shows the report
template:
When rendering the report without sorting, data are taken from the data source
sequentially. In order to enable dynamic sorting you need to select the component
© 2003-2019 Stimulsoft
854 Stimulsoft Reports and Dashboards User Manual
when clicking it the sort direction will be changed. In this example, select text
components in the Header Band. Then set the Interaction.Sorting Enabled
properties for both components to true. In the fields of the Interaction.Sorting
Column properties specify the data column to be used for sorting data. In this case,
specify the column {Products.Categories.CategoryName} for the text component
with the expression CategoryName, and for the text component with the expression
ProductName specify the column {Products.ProductName}. Render a report. In
order to sort data by multiple columns, you must click the components holding the
Control button and change the sorting direction. The picture below shows a report
page rendered with dynamic sorting by multiple columns:
As can be seen from the picture above, when sorting by multiple columns, the data are
sorted first by the first column. In this case, the categories are sorted in the Ascending
direction. Then, data are sorted by the second column. In this case, the products are
sorted in the Descending direction, but within each category. In other words, in the
products category Beverages is ordered in the direction from Z to A, in the category
Condiments, too, from Z to A, etc. To disable sorting by multiple columns, you must
release the Control key and click the component with dynamic sorting.
© 2003-2019 Stimulsoft
Report Internals 855
Sometimes you need to show a report in a compact form. In Stimulsoft Reports you can
find the ability to dynamically collapse information in the preview window. A report
with dynamic collapsing is an interactive report, in which collapsing blocks can expand/
collapse its contents clicking the block title. Dynamic collapsing is usually used in
reports with grouping, Master-Detail, hierarchical reports. Dynamic collapsing can be
multilevel. Consider an example of using dynamic collapsing in the report. Let's have a
report that contains a list of products that are grouped by category. The picture below
schematically showed the report with a multilevel collapsing:
As can be seen from the picture, the collapsing unit A contains a collapsible blocks B1,
B2, B3. This is dynamic collapsing of the first level. In turn, the block B1 contains a
collapsible blocks C1, C2, C3. This is dynamic collapsing of the second level, etc.
Consider the example of a dynamic collapsing of the report with the group. Let's have a
report that contains a list of products that are grouped by category. Below is a picture
with a report with grouping:
© 2003-2019 Stimulsoft
856 Stimulsoft Reports and Dashboards User Manual
Enable dynamic collapsing, where the title of the collapsing unit will be group titles, i.e.
in this case, the category names. To do this, return to the report template (see the
picture).
Select the component that will be a title of the collapsing block, i.e. in this example, the
Group Header band. Then, set the Interaction.Collapsed Enabled property to true.
In the field of the Interaction.Collapsed property specify an expression {GroupLine!
= 1}. Render a report. The picture below shows a report page rendered with dynamic
collapsing:
© 2003-2019 Stimulsoft
Report Internals 857
Now, when rendering a report, the group will have a look as expanding/collapsing
blocks. To expand/collapse the block, you should click the title block. In this case, the
group header. On the component for which the dynamic collapsing is enabled, is
displayed if the block is collapsed the icon is displayed and the icon is displayed if
the block is expanded. Note that you can collapse blocks with the the group footer. To
do this, set the Interaction.Collapse Group Footer property to true.
Sometimes it is necessary to create a report with contents. In this case you should
create the report structure first and then create the report on the whole. But there is a
question. How to output page numbers, because at the moment, when contents
rendering, numbers of pages, which elements of contents refer to, are unknown. Use
the anchor in this case. The AddAnchor method is used for creating an anchor. When
creating an anchor, the report generator saves the current page and compares it with
the specified anchor. For example:
AddAnchor(“MyAnchorName”)
in this line of the code a new anchor with “MyAnchorName” will be created. To get
the anchor value it is necessary to use the GetAnchorPageNumber method. This
method returns the number of a page according to the anchor name. If there is no the
© 2003-2019 Stimulsoft
858 Stimulsoft Reports and Dashboards User Manual
For example:
{GetAnchorPageNumber(“MyAnchorName”)}
Notice: You should enable the ProcessAtEnd property of the text component, which
expression returns the number of a page. This property is used for the values of these
text components to be processed after report rendering (when numbers of pages are
known).
{GetAnchorPageNumber(component.TagValue)}
this text expression will return the number of a page using the anchor.
© 2003-2019 Stimulsoft
Report Internals 859
As an anchor name the value of the Tag property is used. For filling the Tag property
the following expression is used:
{Products.ProductName}
in this expression the name of a product is used. Therefore, it is impossible to use the
expression below:
{GetAnchorPageNumber(Products.ProductName)}
The component that contains an expression will be processed in the end of report
building. So the value of the Products.ProductName field will be equal for all strings
– the last in a list. That is why it is necessary to remember the value of the
Products.ProductName field for every string when the content is being built. For this
use the Tag property. On the second page the report is built. In the Rendering
property of the DataBand component (used for the content building) the AddAnchor
method is called. This method will return the current page in the moment of its calling.
© 2003-2019 Stimulsoft
860 Stimulsoft Reports and Dashboards User Manual
The anchor name is the value of the Products.ProductName field. As a result, the
page number is rendered first. Then the second page is rendered and numbers of pages
are saved. After the report rendering the report generator engine returns to the first
page and numbers all pages.
© 2003-2019 Stimulsoft
Report Internals 861
3.36.7 Editing
In our reporting we have the ability to edit some of the components of a rendered
report in the viewer, or in the preview tab. As a rule, it must be made before printing or
exporting. The components that can be changed are:
Text;
Text in Cells;
Rich text;
Checkbox.
In order to make it possible to edit the report components, you should set the Editable
property of these components to Yes. Then, you can modify these components in the
viewer using the tool Editor. In text components editing means changing the text, and in
the checkbox editing means changing the value (true or false).
© 2003-2019 Stimulsoft
862 Stimulsoft Reports and Dashboards User Manual
components with the Editable property enabled. If No is set, then you can edit all
components, unless it is not limited with safety parameters. If you select Yes then you
can only edit components with the Editable property enabled. The Word document can
also be editable. However, with the parameter Restrict Editing it is possible to allow
editing only the components that have the Editable property set to Yes. For this set
Restrict Editing to Except Editable Fields.
4 Dashboards
The Dashboard component is a scalable area on which you can place elements of data
analysis. All elements placed on the dashboard can be related to each other or split into
groups of related elements. The dashboard panel is created in the report designer, and
viewed in the preview panel in the report designer or in the report viewer.
© 2003-2019 Stimulsoft
Dashboards 863
Creating dashboards
Please do the following in the report designer to add a new dashboard in the report:
Click the Dashboard button on the Insert tab;
Select New Dashboard in the context menu of the page title or dashboard panel.
© 2003-2019 Stimulsoft
864 Stimulsoft Reports and Dashboards User Manual
Information
The data filtering elements of the drop-down type (drop-down list, date picker, drop-
down hierarchical list) do not stretch in height.
When creating the dashboard in the designer, its size has a working area that looks like
a white sheet with a grid. In order to change the size of the dashboard in the report
designer, you should:
Double-click on the working area of the dashboard;
Specify the width and height of the dashboard in pixels.
Information
© 2003-2019 Stimulsoft
Dashboards 865
When you change the size of the working area of the dashboard in the report
designer, the elements can stretch (shrink) or keep their size unchanged. It depends
on the Scale Content parameter. If this option is enabled, then, when resizing the
dashboard, all elements will also be stretched or shrunk. If this parameter is disabled,
only the size of the working area of the dashboard will be increased, while the size of
the elements will remain unchanged.
All elements of the dashboard are grouped into the following ones according to their
functionality:
© 2003-2019 Stimulsoft
866 Stimulsoft Reports and Dashboards User Manual
4.1 Appearance
In addition to creating dashboards, an important role plays the setting of this panel and
its elements. In this chapter, we will describe the parameters of the dashboard and its
elements.
© 2003-2019 Stimulsoft
Dashboards 867
Information
Some elements, besides those listed below, may also have individual design options.
© 2003-2019 Stimulsoft
868 Stimulsoft Reports and Dashboards User Manual
change the style of the dashboard, the newly selected color scheme will be applied to
all elements on this panel. However, for each component of the dashboard you can
assign your style.
Information
© 2003-2019 Stimulsoft
Dashboards 869
In this case, if you change the style of the dashboard, the color scheme of the element
will not change.
In addition, you can create custom styles for the elements of the dashboard. To do this,
call the Style Designer and create styles for the elements. You can also assign the
created style using the style menu on the Home tab or using the Style property of the
element.
Background
One of the settings for the design is to set the background color of the element. By
default, the background color is used from the assigned style. In order to change the
background color of the dashboard or its elements you should:
Select the dashboard or element;
Change the value of the Back Color property in the property panel.
After that, select the background color from the drop-down list.
Also, you can change the background color of the element on the Home tab in the
report designer:
Select the dashboard or element;
Use the Background tool to select a background color from the palette or specify a
custom color.
Text color
When customizing the design, you can change the text color of a specific item. To do
this:
© 2003-2019 Stimulsoft
870 Stimulsoft Reports and Dashboards User Manual
Select an element;
Select the required color from the drop-down list in the Fore Color property.
Information
The Table element also has its own color for each column. To do this, select the data
field in the Table element editor and change the text color.
You can also customize the type, borders, size and color of the borders of the element.
To do this:
Select an item on the dashboard;
Change the type, size, sides, borders color using the Border property group on the
property panel, or tools on the Home tab in the report designer.
© 2003-2019 Stimulsoft
Dashboards 871
Element titles
The titles of elements on the dashboard can be created in various ways. For example,
using the Text element. However, elements also have the ability to enable and
configure an element title. In order to include the title:
Move the cursor to the top of the element;
In the upper right corner, check the box to enable the title display or uncheck the box
to disable the title display. By default, the title of the elements is enabled.
© 2003-2019 Stimulsoft
872 Stimulsoft Reports and Dashboards User Manual
You can also enable or disable displaying of the title by setting the Visible property
from the Title group on the property panel to true or false.
© 2003-2019 Stimulsoft
Dashboards 873
Text formatting
You can apply formatting to the elements of the dashboard. You should do the
following steps:
Select an item on the dashboard;
Using the Text Format tool on the Home tab of the ribbon panel, apply the format
to the element values.
© 2003-2019 Stimulsoft
874 Stimulsoft Reports and Dashboards User Manual
Also, you should remember that for the Table and Pivot Table elements you can set the
formatting for the values of each data field. You should do the following steps:
In the Table or Pivot Table element editor, select the data field;
Select a format using the Text Format tool on the Home tab of the ribbon panel.
4.2 Data
Elements of data analysis can work with different data sources. Before starting the
design of the dashboard, you should read the following chapters:
Data Sources;
© 2003-2019 Stimulsoft
Dashboards 875
All data sources of dashboard elements form a virtual data table for the current
dashboard. This is necessary for the interaction of the dashboard elements with each
other.
Information
When designing a dashboard, data from various sources can be used in the elements.
In this case, for correct analysis and comparison of data between these sources,
relationships should be established. Otherwise, interactive actions with the elements
of the dashboard may lead to incorrect data processing and incorrect displaying of the
result.
Data fields
There are fields in which data fields are indicated in the editor of the dashboard
elements. Each data field has an expression which results of processing are the data
values for the current dashboard item. The data field expression can be a reference to a
data column or a variable.
If a reference to a data column is specified, the values of the data column will be the
values of the data field on the basis of which the current element of the dashboard will
be rendered.
If a reference to a variable is specified, the value of the variable will be the value of
the current data field. You should know that at this moment we support the variable of
the Value is specified.
Also, you can manually specify the values of the data field. To do this, enter a value or
a list of values in the Expression field of the current data field. To enter values
manually, you should use the List() or Array() functions using the "," separator
between values.
A function can be applied to the expression of data fields. In that case, the values of the
data field will be the values processed using this function.
You can add a new data field using on of the ways below:
Drag and drop a data column into an item field. In this case, a new data field will be
created with reference to the data column you dragged.
© 2003-2019 Stimulsoft
876 Stimulsoft Reports and Dashboards User Manual
Select the New Field command from the context menu of the element editor.
In the Table element, the data fields can be of the following types:
Measure. By default, this field type applies to all numeric data types. Also, this type of
data field is used if it is necessary to group the values of the current data field by the
values of another data field.
Dimension. This type of field is used by default for non-numeric data types. When
grouping data, the values of this data field will be a condition of grouping for the values
of other data fields.
Changing the type of data field is carried out in the Table element editor, using the
Measure and Dimension buttons:
© 2003-2019 Stimulsoft
Dashboards 877
Information
© 2003-2019 Stimulsoft
878 Stimulsoft Reports and Dashboards User Manual
When you drag a data source into the dashboard, a Table element with all columns of
this data source will be added.
Select the data field in the element editor, using the Field command, select a data
column. In this case, the expression of the data field will be a reference to the selected
data column.
© 2003-2019 Stimulsoft
Dashboards 879
Select the data field, call the Expression editor to create an expression for this field;
© 2003-2019 Stimulsoft
880 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 881
© 2003-2019 Stimulsoft
882 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 883
Select the Remove Field command in the context menu of the current data field.
© 2003-2019 Stimulsoft
884 Stimulsoft Reports and Dashboards User Manual
Select the Remove All Fields command in the context menu of the field of the
dashboard element, .
© 2003-2019 Stimulsoft
Dashboards 885
List of functions
Depending on the type of values, the list of functions used may vary. The table below
contains a complete list of functions that can be applied to data fields.
Function Description
Functions that are available from the menu of the Expression field
Count() Calculates the number of
values in the current data
field.
DistinctCount() Calculates the number of
unique values in the
current data field.
First() Shows the first value of
the current data field.
© 2003-2019 Stimulsoft
886 Stimulsoft Reports and Dashboards User Manual
Functions that can be added from the data dictionary or entered manually
Mode() Shows the most
frequently repeating
values in the current data
field.
List() Enters a list of values for
the current data field of
an item.
© 2003-2019 Stimulsoft
Dashboards 887
© 2003-2019 Stimulsoft
888 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 889
4.3 Groups
By default, all elements on the dashboard are related to each other, which means that
data filtering of one element affects the data filtering of other elements. However, when
designing a dashboard, it is possible to split the elements of the dashboard into groups.
For example, you want to display statistics for two unrelated companies in one
dashboard. In this case, the elements of the dashboard should be split into groups,
where the first group is one company and the second group is another company.
© 2003-2019 Stimulsoft
890 Stimulsoft Reports and Dashboards User Manual
The belonging of an element to a group can be determined using the Group property.
By default, this property is empty for an element, and it does not belong to any group.
The group of elements in the dashboard is a set of elements for which the value of the
Group property matches.
Information
You should know that using the Group property, you can also create relationships
between elements that are located on different dashboards within the same report.
© 2003-2019 Stimulsoft
Dashboards 891
For this, those elements must belong to the same group, the values of the Group
property of those elements must be identical.
Creating groups
Do the following to create a group of items on the dashboard:
Select the elements;
Specify any value in the Group property .
You can also select several elements in the dashboard and delete the value from the
Group property.
4.4 Table
Table is an element of data analysis, which provides the ability to display data field
values in Measure and Dimension modes, as well as apply Data Bars, Color Scale,
Indicator, Sparklines to data field values. In addition, the table element has settings
for data aggregation — filtering, sorting, replacing values, calculating a cumulative
total, etc.
Information
When dragging a data source to the dashboard, a table element will be created with
all the data columns of this source.
© 2003-2019 Stimulsoft
892 Stimulsoft Reports and Dashboards User Manual
The options for displaying the values of the Table element are made in its editor. In
order to call the editor, you should:
Double-click on the Table element;
Select the Table element, and select the Design command in the context menu;
Select the Table element, and click the Browse button of to the Columns property
on the property panel.
© 2003-2019 Stimulsoft
Dashboards 893
© 2003-2019 Stimulsoft
894 Stimulsoft Reports and Dashboards User Manual
Size mode
By default, the table has a fixed width of columns both in the report designer and in the
report viewer. However, you can enable stretching the table. You may do this the
following way:
Select the Table element in the dashboard.
Set the Fit value to the Size Mode property on the property panel. In this case, the
table will stretch across the width of the element. However, in the viewer the width of
the columns cannot be less than the preset width. To prevent the table from stretching
by the width of the element, set the Resizing Method property to AutoSize.
© 2003-2019 Stimulsoft
Dashboards 895
In the case of grouping data into categories, it is also necessary for the data field with
the list of products to change the element type from Dimension to Measure.
© 2003-2019 Stimulsoft
896 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 897
Commands to sort the table data by the values of the current column. In this case, the
data is sorted according to the same principle as in data conversion.
Commands to filter table data and related items by the values of the current column.
In this case, the data filtering is carried out on the same principle as when converting
data - a typical filter, a custom filter, the selection of values.
Information
You can disable the sorting and filtering commands in the value column header menu
using the interaction parameters of the Table element.
Name Description
Columns Customizes the list of columns in
the Table element. When you
click the Browse button, the
© 2003-2019 Stimulsoft
898 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 899
© 2003-2019 Stimulsoft
900 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 901
disabled.
Name Changes the name of the current
element.
Alias Changes the alias of the current
item.
Restrictions Configures the permissions to
use the current item in the
dashboard:
The Allow Change option
enables or disables changes of
the element. If checked, the
current item can be changed.
The Allow Delete option
enables or disables the deletion
of an item.
The Allow Move option allows
or prohibits moving an item.
The Allow Resize option
enables or disables resizing of an
element.
The Allow Select option
enables or disables the element
selection.
Locked Locks or unlocks resizing and
movement of the current
element. If the property is set to
True, the current element cannot
be moved or resized. If this
property is set to False, then this
element can be moved and
resized.
Linked Binds the current location to the
dashboard or another element. If
the property is set to True, then
the current item is bound to the
current location. If this property
is set to False, then this element
© 2003-2019 Stimulsoft
902 Stimulsoft Reports and Dashboards User Manual
4.5 Chart
Chart is a graphical element of data analysis, using which the data can be processed
and the result is displayed as graphs.
You can configure the Chart element in the special editor. In order to call the chart
editor, you should:
Double-click the left mouse button;
Select the Chart item and select the Design command in the context menu;
Select the Chart item, and, on the property panel, click the Browse button for the
© 2003-2019 Stimulsoft
Dashboards 903
Information
The chart area is configured using the Area group on the property bar. You can adj ust
the horizontal, vertical lines and etc.
Chart values
In order to create a chart in the dashboard, at least one data field specified in the Value
field is required:
Drag and drop the data column from the dictionary into the Value field, and for
© 2003-2019 Stimulsoft
904 Stimulsoft Reports and Dashboards User Manual
Also, the chart can specify the arguments and series. If the arguments and series are not
specified, then all element values will be processed and displayed using one graphic
element. For example, if three data fields are created in the Value field, then three
graphical elements will be displayed in the Chart.
Information
For some types of charts require setting values in several fields. For example, for
financial charts you need to specify the value in the fields - Open, Close, Max, and
Min. In this case, you should create at least one data field for every Value field.
© 2003-2019 Stimulsoft
Dashboards 905
Chart types
Depending on the type of a chart chosen, the data will be displayed using one or
another graphic element. You can display several types of charts within the same chart
element.
Information
Within the same Chart element, not all types are compatible. It is impossible to
display the Funnel and Gantt in one element.
You should know that only one type of a chart can belong to one data field. If it is
necessary to display the same data field with different types of charts within the same
Chart element, you should create several duplicates of this data field in the Value
field and specify one of the chart types for every copy.
© 2003-2019 Stimulsoft
906 Stimulsoft Reports and Dashboards User Manual
Arguments
© 2003-2019 Stimulsoft
Dashboards 907
The argument refers to data that is associated with the values of the chart. In other
words, every value of the chart will correspond to some value. For example, product
prices are related to the list of products, i.e. every product has its own price. In this case,
in the chart, each product will be represented in a separate graphic element.
Also, for product prices, an argument may be a category of products. In this case, for
each category of products, a graphic element will be presented. The value of this
graphic element will be the sum of the prices of products which are included into this
category.
For charts with an area of X - Y, the arguments are the values along the X axis (except
for bar charts). In the case of other chart types, the arguments are separate chart
segments.
© 2003-2019 Stimulsoft
908 Stimulsoft Reports and Dashboards User Manual
Information
In the chart editor, you can specify multiple data fields for the Arguments field.
Series
Series of charts are graphical elements with or without arguments and grouped by a
specific value.
For example, you have a chart with product prices (chart values) and a list of products
(chart arguments). If you add an element to the series of the chart with the category
data for these products, then a list of products will be displayed for every category.
Below is a chart with prices for every product category and one argument.
© 2003-2019 Stimulsoft
Dashboards 909
Information
The chart axes are configured using the X Axis and Y Axis property groups (you can
find them on the property panel). You can customize axis labels and titles.
© 2003-2019 Stimulsoft
910 Stimulsoft Reports and Dashboards User Manual
Chart Legend
The chart legend is a description for the graphic elements. If the chart has series, the
legend will automatically be enabled. The legend shows:
Marker is a special graphic icon with the color of the graphic element to which it
belongs.
The value of the series for a specific graphic element of the chart;
If the arguments are set for the chart, it shows the value of the argument for a
specific graphic element of the chart.
© 2003-2019 Stimulsoft
Dashboards 911
Information
Setting the legend is done using properties from the Legend group on the property
panel. You can adj ust the alignment of the legend horizontally and vertically, the title
of the legend, the text of the legend, and etc.
List of properties
The list shows the name and description of the properties of the element which you
may find in the properties panel of the report designer.
Name Description
Values Sets a data field for chart values.
When you click the Browse
button, the element editor will be
opened in which you can add or
remove data value fields.
Arguments Sets a data field for chart
arguments. When you click the
Browse button, the element
editor will be opened in which
you can add or remove argument
data fields.
© 2003-2019 Stimulsoft
912 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 913
© 2003-2019 Stimulsoft
914 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 915
© 2003-2019 Stimulsoft
916 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 917
© 2003-2019 Stimulsoft
918 Stimulsoft Reports and Dashboards User Manual
4.6 Gauge
Gauge is an element of the dashboard panel using which you can display the
processed value from the data field.
You may adj ust the Gauge element in its editor. In order to call the editor, you should:
Double-click the mouse left button on the item;
Select the Gauge element, and select the Design command in the context menu;
© 2003-2019 Stimulsoft
Dashboards 919
Select the Gauge element, and, on the property panel, click the Browse button of the
Value or Series properties.
© 2003-2019 Stimulsoft
920 Stimulsoft Reports and Dashboards User Manual
Gauge values
In order to create a gauge on the dashboard panel, you need a data field in the Value
field. To do this:
Drag and drop the data column from the dictionary to the Value field, and for newly
added items, drag it into the editor or the gauge area.
Create New Field. Set the expression for this element, the processing result of which
will be the value for the gauge.
Series of gauge
A gauge series is a separate graphic element for a specific segment of values selected
by a specific condition. The condition in this case will be the values of the data field
which is indicated in the Series field.
For example, a data field with product prices is specified in the Gauge field. Without
specifying the series one graphic element will be displayed, the value of which will be
the sum of the prices of all products.
© 2003-2019 Stimulsoft
Dashboards 921
If you specify a data field with a list of products in series then, for every product, a
graphic element will be displayed, the value of which will be the price of this product.
If you specify a data field with a list of product categories in series, then a graphic
element will be displayed for every category. The value of this graphic element will be
© 2003-2019 Stimulsoft
922 Stimulsoft Reports and Dashboards User Manual
In order to specify the series of the gauge, you should do the following:
Double-click the mouse left button on the gauge;
In the element editor, drag and drop the data column from the dictionary to the
Series field.
Create New Field in the Series field. Set the expression for this element, the
processing of which will be series for the gauge.
Gauge types
The gauge can be of the following types:
Full Circular;
Half-Circular;
Linear.
© 2003-2019 Stimulsoft
Dashboards 923
© 2003-2019 Stimulsoft
924 Stimulsoft Reports and Dashboards User Manual
Information
Within the limits of one gauge element it is possible to use only one type of a gauge.
Even in the case of multiple series, the type of the gauge will be the same for all
values.
In the Minimum field you should set the initial value of the gauge scale;
In the Maximum field you should set the maximum value of the gauge scale;
© 2003-2019 Stimulsoft
Dashboards 925
Select the Auto value in the Mode field in order to enable the automatic mode for
calculating the range of values of the gauge scale.
Multi-colored scale
By default, the gauge scale is monochromatic. However, you can adj ust the color for a
specific range of the scale. To do this:
Double-click the mouse left button on the gauge;
Left-click in the Range Type field.
Select Color in the drop-down list.
© 2003-2019 Stimulsoft
926 Stimulsoft Reports and Dashboards User Manual
List of properties
The list shows the name and description of the properties of the element which you
© 2003-2019 Stimulsoft
Dashboards 927
Name Description
Value Sets the data field of the current
item values. If the data field is set,
this value will include two
properties:
Expression is used to change
the expression of the Value data
field of this element;
Label is used to change the
name of the data field in the
Value field of the current item.
Series Sets the data field of the rows of
the current item. If the data field
is set, this value will include two
properties:
Expression is used to change
the expression of the Series data
field of this element;
Label is used to change the
name of the data field in the
Series field of the current item.
Calculation Mode Sets the mode of calculating the
value scale of the gauge. If the
value is set to Auto, the scale will
be calculated automatically. If the
value is set to Custom, then the
Minimum Value and
Maximum Value properties will
be displayed, which will specify
the scale of values of the gauge.
Data Transformation Customizes the data
transformation of the current
item.
Group Adds the current item to a
specific group of items.
© 2003-2019 Stimulsoft
928 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 929
© 2003-2019 Stimulsoft
930 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 931
© 2003-2019 Stimulsoft
932 Stimulsoft Reports and Dashboards User Manual
4.7 Pivot
Pivot is an element of the dashboard, which is used to process, group and summarize
data values by rows and columns of this table.
To display the pivot element you should to add at least one data field in the Totals field.
Element settings of the Pivot table is implemented in the element editor. In order to
call the editor, you should:
Double-click the Pivot item;
Select the Pivot item, and select the Design command in the context menu;
Select the Pivot item, and, on the property bar, click the Browse button of the
Columns property.
© 2003-2019 Stimulsoft
Dashboards 933
The Columns field indicates the data fields for the rows of this table;
The Row field indicates data fields for the columns of this table;
The Summary field indicates the data fields for the resulting cells of this table;
The button is used to change data fields between Columns and Rows fields.
The Expression field in which the expression of the selected data field is displayed.
The Top N parameter is used to customize the list of maximum or minimum values
of the pivot table. The top values are set in the Top N values editor. To call the editor,
click the Edit button in the current field. In order to reset the top values, click the
Remove button in the current field.
Totals
© 2003-2019 Stimulsoft
934 Stimulsoft Reports and Dashboards User Manual
At the intersection of the columns and rows of the pivot table you can see cells. A value
from the corresponding cell of the data source will be added to this cell, i.e. the value
from the data source cell formed at the intersection of the corresponding column and
rows in the data source. Then, all values of each row and each column will be summed
up and displayed in the resulting cells of the pivot table. Also, in the Totals field you
can specify several data fields. In this case, cells will be added to the pivot table both for
the first data field and for the second one.
Rows
This field of the pivot table indicates the data fields which values will form the rows of
the pivot table. Also in this field you can specify multiple items. In this case, the data
fields must be related with each other, because the values of the top data field in this
field are "predecessor" for the values of the lower data field. For example, if the top data
field contains a list of categories, and the bottom contains a list of products.
© 2003-2019 Stimulsoft
Dashboards 935
In this case, in the pivot table, each category will be a separate line in the pivot table.
However, each category will contain its own list of products that will form the rows of
the pivot table within that category.
© 2003-2019 Stimulsoft
936 Stimulsoft Reports and Dashboards User Manual
Columns
This field of the pivot table indicates the data fields which values will form the rows of
the pivot table. Also in this field you can specify multiple data fields. In this case, the
data fields must be related to each other, because the values of the top data field in this
field are "predecessor" for the values of the lower data field. For example, if the top data
field contains a list of categories, and the bottom contains a list of products.
In this case, in the pivot table, each category will be a separate column in the pivot table.
However, each category will contain its own list of products that will form the columns
of the pivot table within that category.
© 2003-2019 Stimulsoft
Dashboards 937
List of properties
The list shows the name and description of the properties of the element which you
may find in the properties panel of the report designer.
Name Description
Columns Customizes the list of columns in
the element. When you click the
Browse button, the element
editor will be opened in which
you can add or delete data fields
in the Columns field.
Rows Customizes the list of rows in the
element. When you click the
Browse button, the element
editor will be opened in which
you can add or delete data fields
in the Rows field.
Summary Customizes the list of values in
the element. When you click the
Browse button, the item editor
will be opened in which you can
add or remove data fields in the
Summary field.
Data Transformation Customizes the data
© 2003-2019 Stimulsoft
938 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 939
© 2003-2019 Stimulsoft
940 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 941
4.8 Indicator
Indicator is an element of the dashboard that represents the ability to display the
aggregated value of the data field, as well as the rate of increase of this value to the
target. In addition, the growth rate and the aggregated value of the indicator can be
grouped by a condition.
To display the Indicator, you should add a data item in the Value field. In this case, the
value will be displayed with a specific graphic element. Also in order to display the
© 2003-2019 Stimulsoft
942 Stimulsoft Reports and Dashboards User Manual
growth rate, it is necessary to set the data element in the Target field. The settings of
the Indicator element can be done in the element editor. To call the editor, you should:
Double-click on the Indicator element;
Select the Indicator element and select the Design command in the context menu;
Select the Indicator element, and, on the property panel, click the Browse button of
the Value, Target, and Series properties.
Indicator editor
In the Indicator editor, you can add elements with data, edit the expressions of these
elements, select a graphic element to indicate the value.
Indicator value
In the value field, you can specify only one data field. All values of this field will be
aggregated, i.e. a function will be applied to them. By default, this is a summation
function for numeric values. If a field with non-numeric values is added, then by default
the function of the number of rows in this data field is applied to them.
© 2003-2019 Stimulsoft
Dashboards 943
Information
In the Indicator element, you can specify only the value. In this case, the aggregated
value of the data field will be displayed with a specific graphic element, without a
growth rate.
Target value
To use the indicator to display the growth rate, besides the value in the indicator, it is
necessary to indicate the target value. The target value is the aggregated value of the
© 2003-2019 Stimulsoft
944 Stimulsoft Reports and Dashboards User Manual
data field specified in the Target field of the indicator. In the Target field, you can
specify only one data field. By default, the summation function for numeric values is
applied to the data field in the Target field. If a data field with non-numeric values is
added, then, by default, the function of counting the number of rows in this data field is
applied to it.
Information
If only the target value is specified in the Indicator element but the value of this
indicator is not indicated, then the growth rate in the indicator will be -100 percent.
© 2003-2019 Stimulsoft
Dashboards 945
Indicator series
The indicator series is a separate indicator for a specific segment of values selected by a
specific condition. The condition in this case will be the values of the data element that
is specified in the Series field.
For example, in the Value field on the indicator, a data field with the number of orders
issued is set, and in the Target field you set the planned number of orders. Without a
series, only one indicator will be displayed. The indicator value will be the aggregated
value of the data field specified in the Value field. All data field values form the Target
field will also be aggregated. Based on the value and the target value, the indicator will
be displayed with the growth rate.
© 2003-2019 Stimulsoft
946 Stimulsoft Reports and Dashboards User Manual
If you specify a data field with a list of products in series, then the indicator will be
displayed for every product, i.e. for each product, the number of orders issued and the
rate of growth of orders for each product will be displayed.
If you specify a data field with a list of product categories in series, then an indicator will
be displayed for each category, i.e. the indicator value and growth rate will be calculated
by processing the values and growth rate of all products included into this category. In
other words, the values and growth rate of each product will be grouped into
categories to which they relate.
© 2003-2019 Stimulsoft
Dashboards 947
© 2003-2019 Stimulsoft
948 Stimulsoft Reports and Dashboards User Manual
Information
If series are specified in the indicator, then icons for values are not used. In this case,
there is no Icon field in the Indicator editor.
List of properties
The list shows the name and description of the properties of the element which you
may find in the properties panel of the report designer.
© 2003-2019 Stimulsoft
Dashboards 949
Name Description
Value Sets a data field to set data value
in the element. If the data field is
set, this value will include two
properties:
Expression is used to change
the expression of the Value data
field of this element;
Label is used to change the
name of the data field in the
Value field of the current item.
Target Sets the target data field of the
current item. If the data field is
set, this value will include two
properties:
Expression is used to change
the expression of the Target data
field of this element;
Label is used to change the
name of the data field in the
Target field of the current item.
Series Sets the data field of the series of
the current item. If the data field
is set, this value will include two
properties:
Expression is used to change
the expression of the Series data
field of this element;
Label is used to change the
name of the data field in the
Series field of the current item.
Data Transformation Customizes the data
tranformation of the current
element.
Group Adds the current item to a
specific group of items.
© 2003-2019 Stimulsoft
950 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 951
© 2003-2019 Stimulsoft
952 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 953
4.9 Progress
Progress is an element of the dashboard panel that represents the ability to display the
growth rate (relative share) of a value relative to the target value.
© 2003-2019 Stimulsoft
954 Stimulsoft Reports and Dashboards User Manual
In order to display Progress, you need to add a data field to the Value and Target
fields. In this case, using the graphical element, the growth rate of the value in relation
to the target will be displayed. You can setup the Progress element in the editor. In
order to call the editor, you should:
Double-click on the Progress element in the dashboard panel;
Select the Progress element and select the Design command in the context menu;
Select the Progress element, and, on the property panel, click the Browse button of
the Value, Target, and Rows properties.
© 2003-2019 Stimulsoft
Dashboards 955
Progress editor
In the Progress editor, you can add elements with data, edit the expressions of these
elements, select the type of a graphic element to display the calculated value.
Progress values
In the Value field, you can specify only one data field. All values of this field will be
aggregated, i.e. a function will be applied to them. By default, this is a summation
function for numeric values. If a data field with non-numeric values is added, then, by
default, the function of the number of rows in this data field is applied to them.
© 2003-2019 Stimulsoft
956 Stimulsoft Reports and Dashboards User Manual
Information
Without a target value, the growth rate will always be 100 percent.
© 2003-2019 Stimulsoft
Dashboards 957
be specified in this field. By default, the summation function for numeric values is
applied to the data field in the Target field. If a field with non-numeric values is added,
then by default the function of counting the number of rows in this data field is applied
to it.
Information
If only a target value is specified in the Progress element, but no value is specified,
then the growth rate in progress will be 0 percent.
© 2003-2019 Stimulsoft
958 Stimulsoft Reports and Dashboards User Manual
Progress series
A series of progress is a separate progress for a specific segment of values selected by
a certain condition. The condition in this case will be the values of the data field, which
is specified in the Series field.
For example, in the Progress value field, a field with the number of orders issued is set,
and the planned number of orders is set in the Target field. One progress will be
displayed without specifying a series. The value of progress will be the growth rate (the
value relative to the target value).
© 2003-2019 Stimulsoft
Dashboards 959
If you specify a data field with a list of products in series, then the progress will be
displayed for every product, i.e. the growth rate will be displayed for every product.
If you specify a data field in the rows with a list of product categories, then progress will
be displayed for every category, i.e. growth rate will be calculated by aggregating the
growth rate of all products included into this category. In other words, the growth rate
of every product will be grouped into the categories to which they relate.
© 2003-2019 Stimulsoft
960 Stimulsoft Reports and Dashboards User Manual
Progress types
When creating the progress, you can select the type of graphic element with which the
growth rate value will be displayed. To do this:
© 2003-2019 Stimulsoft
Dashboards 961
© 2003-2019 Stimulsoft
962 Stimulsoft Reports and Dashboards User Manual
Information
Within one Progress element, you can select only one type of graphic element.
List of properties
The list shows the name and description of the properties of the element which you
may find in the properties panel of the report designer.
© 2003-2019 Stimulsoft
Dashboards 963
Name Description
Value Sets a data field to set data value
in the element. If the data field is
set, this value will include two
properties:
Expression is used to change
the expression of the Value data
field of this element;
Label is used to change the
name of the data field in the
Value field of the current item.
Target Sets the target data field of the
current item. If the data field is
set, this value will include two
properties:
Expression is used to change
the expression of the Target data
field of this element;
Label is used to change the
name of the data field in the
Target field of the current item.
Series Sets the data field of the series of
the current item. If the data field
is set, the Series group will
include two properties:
Expression is used to change
the expression of the Series field
of this element;
Label is used to change the
name of the data field in the
Series field of the current
element.
Data Transformation Customizes the data
transformation of the current
element.
Group Adds the current item to a
© 2003-2019 Stimulsoft
964 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 965
© 2003-2019 Stimulsoft
966 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 967
4.10 Maps
Map is an element of the dashboard, which provides the ability to display data with
reference to geographic location.
© 2003-2019 Stimulsoft
968 Stimulsoft Reports and Dashboards User Manual
When designing a dashboard for displaying maps, you can use the following elements:
Region map, provides the ability to display any value with reference to a geographic
obj ect.
Online map, provides the ability to display any obj ect by geographic coordinates on
an online Bing map.
4.10.1 Region Map
Region Map provides the ability to display any value with reference to a geographic
obj ect.
© 2003-2019 Stimulsoft
Dashboards 969
The Region Map element can be placed anywhere on the dashboard. This item is
configured in its editor. In order to call the editor, you should:
Double-click on an item;
Select the Region Map element, and select the Design command in the context
menu;
© 2003-2019 Stimulsoft
970 Stimulsoft Reports and Dashboards User Manual
In the region map, you can display any value, with reference to a specific geographical
obj ect. The list of geographical obj ects depends on the selected map view.
Below is the editor of the Region Map element when manually filling in the data.
The table contains Key, Name, Value and Color. Also, if a map with grouping or
heat map with grouping is selected, a column for the grouping keys of map elements
will be present. By default, keys and map elements are filled. All that is needed is to
enter a value for a specific map element, and specify the key of grouping, if necessary.
Parameter that provides the ability to select the type of a map. To change the type of
© 2003-2019 Stimulsoft
Dashboards 971
The Map Type parameter is used to change the type of the Region Map element.
The map may be of the following type:
Individual - every Map Key is a separate geographical obj ect. Each geographical
obj ect will have its own value.
Group - by any condition, Map Keys will be combined into a group of
geographical obj ects.
Heatmap - every Map Key is a separate geographical obj ect, and the values of
all geographical obj ects of the map will also be analyzed. For a geographic obj ect
with a maximum value, the specific color will be defined, for a geographic obj ect
with a minimum value, another specific color will be defined. The color of other
geographical obj ects will be obtained by mixing these colors.
Heatmap with Group - by any condition, map keys will be combined into a
group of geographical obj ects. After grouping of geographical obj ects, their values
will be analyzed. In every group, the geographic obj ect with the maximum value will
have one color, and the geographic obj ect with the minimum value will have
another color. The color of the remaining geographical obj ects in the group will be
obtained by mixing these colors.
The Display Name Type parameter allows you to select the display mode for the
names of map elements:
None - map names for every map element will not be displayed;
Full - names for every map element will be displayed in full;
© 2003-2019 Stimulsoft
972 Stimulsoft Reports and Dashboards User Manual
The Show Values parameter is used to display the values of map elements. If the
box is checked, then its value will be displayed for every map element. If the box is not
checked, the values of the map elements will not be displayed.
The Color Each parameter allows every element of the map to define its own color.
This option is available only for an individual card. If the check box for the option is
checked, then each map element will have a specific color; if the check box is not
checked, all map elements will have one color.
Consider the setting of the Region Map editor, if the data will be obtained from the data
fields. To do this, you should select the Data Columns value in the Data from
parameter. Below is a map editor with data fields:
© 2003-2019 Stimulsoft
Dashboards 973
The Key field indicates a data field with a list of keys of map elements of a certain
type.
The Name field indicates a data field with names for map elements of a certain type.
The Value field indicates a data field with values for every map element of a certain
type.
The Color field indicates a data field that contains the color as #FFFFF for every map
key.
Information
If the Color field is empty and an individual map type is selected, the Color Each
option will be available in the editor. This option is used to automatically apply an
individual color to every map element.
This parameter is used to select the type of a map. To change the type of the map
you should:
Left-click on the field;
Select the type of a map from the drop-down list.
The Expression field displays the expression of the selected data item.
The Map Type parameter is used to change the type of the Region Map. There are
several types of the map:
Individual - every Map Key is a separate geographical obj ect. Each geographical
obj ect will have its own value.
Group - by any condition, Map Keys will be combined into a group of
geographical obj ects.
Heatmap - every Map Key is a separate geographical obj ect, and the values of
all geographical obj ects of the map will also be analyzed. The specific color will be
defined for a geographic obj ect with a maximum value; for a geographic obj ect with
a minimum value, another specific color will be defined. The color of other
geographical obj ects will be obtained by mixing these colors.
Heatmap with Group - by any condition, map keys will be combined into a
group of geographical obj ects. After grouping of geographical obj ects, their values
© 2003-2019 Stimulsoft
974 Stimulsoft Reports and Dashboards User Manual
will be analyzed. In every group, the geographic obj ect with the maximum value will
have one color, and the geographic obj ect with the minimum value will have
another color. The color of the remaining geographical obj ects in the group will be
obtained by mixing these colors.
The Display Name Type option allows you to select the display mode for the name
of the map elements:
No - map names for every map element will not be displayed;
Complete - names for every map element will be displayed in full;
Short - names for every map element will be abbreviated.
The Show Value parameter is used to display the values of map elements. If the
check box is checked, then its value will be displayed for every map element. If the box
is not checked, the values of the map elements will not be displayed.
List of properties
The list shows the name and description of the properties of the element which you
may find in the properties panel of the report designer.
Name Description
Key Sets a data field of keys in the
element. If the data field is set,
this value will include two
properties:
Expression is used to change
the expression of the Key data
field of this element;
Label is used to change the
name of the data field in the Key
field of the current item.
Name Sets a data field to set names in
the element. If the data field is
set, this value will include two
properties:
Expression is used to change
the expression of the Name data
field of this element;
Label is used to change the
© 2003-2019 Stimulsoft
Dashboards 975
© 2003-2019 Stimulsoft
976 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 977
© 2003-2019 Stimulsoft
978 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 979
The Online Map element can be placed anywhere on the dashboard. This item is
configured in the element editor. In order to call the editor, you should:
Double-click on an item;
© 2003-2019 Stimulsoft
980 Stimulsoft Reports and Dashboards User Manual
Select Online Map, and select the Design command in the context menu;
Select Online Map, and, on the property panel, click the Browse button of the
Latitude or Longitude properties;
The Latitude field indicates the data field with the latitude value of the geographical
obj ect.
The Longitude field indicates the data field with the longitude value of the
geographical obj ect.
The Expression field displays the expression of the selected data field.
List of properties
The list shows the name and description of the properties of the element which you
may find in the properties panel of the report designer.
Name Description
Latitude Specifies a data field with the
latitude of the geographical
obj ects of the Online Map
© 2003-2019 Stimulsoft
Dashboards 981
© 2003-2019 Stimulsoft
982 Stimulsoft Reports and Dashboards User Manual
and style.
Enabled Enables or disables the current
item on the dashboard. If the
property is set to True, the
current item is enabled and will
be displayed when previewing
the dashboard in the viewer. If
this property is set to False, this
element is disabled and will not
be displayed when previewing
the dashboard in the viewer.
Layout Customizes the controls of the
item in the viewer.
Margin A group of properties that allows
you to define indents (left, top,
right, bottom) of the value area
from the border of this element.
Padding A group of properties that allows
you to define indents (left, top,
right, bottom) of the columns
from the range of values.
Title A group of properties that allows
you to customize the title of the
element:
The Back Color property
provides the ability to change the
background color of the title of
the current item. By default, this
property is set to From Style, i.e.
the background color will be
obtained from the style settings
of the current element.
Fore Color allows you to
change the text color of the title
of the current item. By default,
this property is set to From
Style, i.e. the text color of the title
© 2003-2019 Stimulsoft
Dashboards 983
© 2003-2019 Stimulsoft
984 Stimulsoft Reports and Dashboards User Manual
4.11 Image
Image is an element with which you can display various graphical obj ects (photo, logo,
picture, etc.) on the dashboard. The Image element supports the following types of
graphics - BMP, PNG, JPEG, TIFF, GIF, PNG, ICO, EMF, WMF, SVG.
© 2003-2019 Stimulsoft
Dashboards 985
The image can be placed anywhere on the dashboard. Setting up the source for the
image element is carried out in its editor. In order to call the editor, you should:
Double-click on the Image element;
Select the Image item, and select the Design command in the context menu;
Select the Image item, and, on the property panel, click the Browse button of the
Image, Hyperlink properties of the image.
© 2003-2019 Stimulsoft
986 Stimulsoft Reports and Dashboards User Manual
Image editor
In the editor you can indicate the source of the image for the current element. Within
one element, you can display only one graphic obj ect (picture, logo, photo, etc.).
In the Image field you can upload an image from the local storage.
In the Hyperlink field, the link to the graphic obj ect is indicated. This can be either a
URL or a link to a report resource (resource://logo).
Information
Since only one graphic obj ect can be displayed in one element, an image can have
only one source. It follows that if the graphic obj ect is directly loaded in the Image
element, the receipt hyperlink will not work. To do this, delete the graphic obj ect from
the Image field.
Element settings
Any graphic obj ect added to the element is stretched to the entire area of
the element,
with the exception of the specified margins and padding. The setting of the graphic
obj ect in the element is carried out using buttons on the ribbon panel or using
properties on the property panel. All these properties are located in the Image
© 2003-2019 Stimulsoft
Dashboards 987
additional group:
The Aspect Ratio property. When stretching an image, its proportions may be
broken. In order to stretch the Image element while maintaining the proportions of the
graphic obj ect, you should set the Aspect Ratio property to true.
The Horizontal Alignment property is relevant if the Aspect Ratio property is set
to true. Horizontal alignment of the graphic obj ect within the Image element. You can
also specify the horizontal alignment using the buttons on the Ribbon panel.
The Vertical Alignment property is relevant if the Aspect Ratio property is set to
true. Vertical alignment of the graphic obj ect within the Image element. You can also
specify the vertical alignment using the buttons on the Ribbon panel.
List of properties
The list shows the name and description of the properties of the element which you
may find in the properties panel of the report designer.
Name Description
Image Uploads a picture in the element.
When you click the Browse
button, the element editor will be
opened in which you can add or
delete an image or a hyperlink to
the image.
Hyperlink Sets a hyperlink in the element.
When you click the Browse
button, the element editor will be
opened in which you can add or
delete an image or a hyperlink to
the image.
Ratio Provides the option of the aspect
ratio of the image in the current
element. If the property is set to
True, then the aspect ratio of the
image in the current element will
be saved. If this property is set to
False, then the aspect ratio will
not be taken into account and the
image will not stretch
© 2003-2019 Stimulsoft
988 Stimulsoft Reports and Dashboards User Manual
proportionally.
Horizontal alignment Changes the horizontal
alignment of the image in the
current element.
Vertical alignment Changes the vertical alignment of
the image in the current element.
Back Color Changes the background color of
the element. By default, this
property is set to From Style, i.e.
the color of the element will be
obtained from the settings of the
current element style.
Border A group of properties that allows
you to customize the borders of
the element - color, sides, size,
and style.
Enabled Enables or disables the current
item on the dashboard. If the
property is set to True, the
current item is enabled and will
be displayed when previewing
the dashboard in the viewer. If
this property is set to False, this
element is disabled and will not
be displayed when previewing
the dashboard in the viewer.
Margin A group of properties that allows
you to define indents (left, top,
right, bottom) of the value area
from the border of this element.
Padding A group of properties that allows
you to define indents (left, top,
right, bottom) of the columns
from the range of values.
Title A group of properties that allows
you to customize the title of the
© 2003-2019 Stimulsoft
Dashboards 989
Table element:
The Back Color property
provides the ability to change the
background color of the title of
the current item. By default, this
property is set to From Style, i.e.
the background color will be
obtained from the style settings
of the current element.
Fore Color allows you to
change the text color of the title
of the current item. By default,
this property is set to From
Style, i.e. the text color of the title
will be obtained from the settings
of the current element style
The group property Font that
allows you to define the font
family, its style and size for the
title of the current element.
The Horizontal Alignment
property provides the ability to
change the title alignment
relative to the element - Left,
Center, Right.
The Text property is used to
set the title text of the current
element.
The Visible property is used to
enable or disable displaying of
the title of the current item. If the
property is set to True, then the
element title will be included. If
this property is set to False, then
the element header will be
disabled.
Name Changes the name of the current
element.
Alias Changes the alias of the current
© 2003-2019 Stimulsoft
990 Stimulsoft Reports and Dashboards User Manual
item.
Restrictions Configures the permissions to
use the current item in the
dashboard:
The Allow Change option
enables or disables changes of
the element. If checked, the
current item can be changed.
The Allow Delete option
enables or disables the deletion
of an element.
The Allow Move option allows
or prohibits moving an element.
The Allow Resize option
enables or disables resizing of an
element.
The Allow Select option
enables or disables the element
selection.
Locked Locks or unlocks resizing and
movement of the current
element. If the property is set to
True, the current element cannot
be moved or resized. If this
property is set to False, then this
element can be moved and
resized.
Linked Binds the current location to the
dashboard or another element. If
the property is set to True, then
the current item is bound to the
current location. If this property
is set to False, then this element
is not tied to the current location.
4.12 Panel
The Panel is an element of the dashboard on which other elements can be placed,
including other panels and dashboards.
© 2003-2019 Stimulsoft
Dashboards 991
The Panel element is stretched along with the dashboard by height and width. To
resize the Panel element you should:
Select a dashboard element;
Increase or decrease the size of the element vertically, horizontally or diagonally.
List of properties
The list shows the name and description of the properties of the element which you
© 2003-2019 Stimulsoft
992 Stimulsoft Reports and Dashboards User Manual
Name Description
Back Color Changes the background color of
the element. By default, this
property is set to From Style, i.e.
the color of the element will be
obtained from the settings of the
current element style.
Border A group of properties that allows
you to customize the borders of
the element - color, sides, size,
and style.
Enabled Enables or disables the current
item on the dashboard. If the
property is set to True, the
current item is enabled and will
be displayed when previewing
the dashboard in the viewer. If
this property is set to False, this
element is disabled and will not
be displayed when previewing
the dashboard in the viewer.
Margin A group of properties that allows
you to define indents (left, top,
right, bottom) of the value area
from the border of this element.
Padding A group of properties that allows
you to define indents (left, top,
right, bottom) of the columns
from the range of values.
Name Changes the name of the current
element.
Alias Changes the alias of the current
item.
Restrictions Configures the permissions to
© 2003-2019 Stimulsoft
Dashboards 993
4.13 Text
Text is an element that allows you to display any text or the result of a specified
expression on the dashboard. An expression can be a reference to a system variable or
a data column.
© 2003-2019 Stimulsoft
994 Stimulsoft Reports and Dashboards User Manual
Information
If the text element contains a reference to a system variable, then the result that
appears in this element will be the value of the system variable. For example, if a
reference to the Today system variable is specified, the result will be the current date
and time of the operating system. If the text element expression is a reference to a
data column, then the result that is displayed using this element will be the current
value of this data column.
© 2003-2019 Stimulsoft
Dashboards 995
The Text element can be placed anywhere on the dashboard. The text element is
configured in its editor. In order to invoke the Text element editor, you should:
Double-click on this item;
Select the Text element and select the Edit command in the context menu;
Select the Text element, and, on the property panel, click the Browse button of the
Text property.
Text editor
In the Text editor you can change the content of this element. You can customize the
design of the text in the editor or using the control buttons on the Ribbon panel.
The group of commands for managing text fonts - font family, font size, font type.
Sets the color of the text or its characters. Each character of the text can select its own
color. To do this, select the character in the field and select a color from the palette or
enter a color value in the RGBA format.
Commands for horizontal text alignment in the Text element area - left, center, right,
width.
Text input field.
© 2003-2019 Stimulsoft
996 Stimulsoft Reports and Dashboards User Manual
Information
Similar commands to work with text - , are located on the Home tab of the
Ribbon panel in the report designer. Select the Text element and change its font
settings, text color, text alignment. In addition, on the Ribbon panel on the Home tab,
you can align text vertically - top, bottom, center.
Also, the text element can change the Back Color and the borders of the element. In
more detail can be found in the chapter Appearance.
List of properties
The list shows the name and description of the properties of the Text element which
you may find in the properties panel of the report designer.
Name Description
Text Specifies text in a Table element.
When you click the Browse
button, the editor of the element
will be opened, in which you can
add or delete text, as well as
customize its appearance.
Back Color Changes the background color of
the element. By default, this
property is set to From Style, i.e.
the color of the element will be
obtained from the settings of the
current element style.
Border A group of properties that allows
you to customize the borders of a
table - color, sides, size, and
style.
Fore Color Specifies the color of the values
of the element. By default, this
property is set to From Style, i.e.
© 2003-2019 Stimulsoft
Dashboards 997
© 2003-2019 Stimulsoft
998 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 999
4.14 Shape
Shape is an element with the help of which various shapes can be displayed on the
dashboard.
© 2003-2019 Stimulsoft
1000 Stimulsoft Reports and Dashboards User Manual
The Shape element can be placed anywhere on the dashboard. The setting of the
Shape element is carried out in the shape editor. In order to invoke the editor of this
element, you should:
Double-click on a Shape;
Select the Shape element, and select the Design command in the context menu;
© 2003-2019 Stimulsoft
Dashboards 1001
Shape editor
Shape settings can be found in the Shape editor.
Type - determines the type of shapes. Click on the value field and select a shape
from the drop-down list.
Size - changes the size of the stroke of shapes.
Stroke - changes the stroke color of shapes. Click on the value field and select a
shape from the drop-down list.
Fill - changes the fill type of shapes and, depending on the type selected, override
the colors, angle, scale, focus, blending, and hatching. For example, for the Solid type,
only one color can be defined. If the Gradient fill type is selected, then the starting and
ending colors must be selected. You can also change the gradient angle.
Information
All these parameters are represented as identical properties on the property panel.
You can configure settings by selecting the Shape element and changing the values
of these properties in the properties panel.
© 2003-2019 Stimulsoft
1002 Stimulsoft Reports and Dashboards User Manual
Name Description
Fill A property group that is used to
change the brush and fill color of
a shape in the current element.
Shape Type Changes the type of a shape in
the current element.
Size Changes the stroke width of a
shape for the current element.
Stroke Changes the stroke color of a
shape.
Back Color Changes the background color of
the Shape element. By default,
this property is set to From
Style, i.e. the color of the element
will be obtained from the settings
of the current element style.
Border A group of properties that allows
you to customize the borders of a
table - color, sides, size, and style.
Enabled Enables or disables the current
item on the dashboard. If the
property is set to True, the
current item is enabled and will
be displayed when previewing
the dashboard in the viewer. If
this property is set to False, this
element is disabled and will not
be displayed when previewing
the dashboard in the viewer.
Margin A group of properties that allows
you to define indents (left, top,
right, bottom) of the value area
from the border of this element.
Padding A group of properties that allows
© 2003-2019 Stimulsoft
Dashboards 1003
© 2003-2019 Stimulsoft
1004 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 1005
4.15 Interaction
When viewing the dashboard, its elements may have certain interactive features. In
other words, depending on the impact of users on the elements of the dashboard,
various actions can be carried out.
© 2003-2019 Stimulsoft
1006 Stimulsoft Reports and Dashboards User Manual
You can specify interactive element actions in the Interaction editor. In order to call the
editor you should:
Select an element on the dashboard in the report designer;
Click the Browse button for the Interaction property on the property panel.
Information
Interaction editor
In this editor, every action is represented as a separate group of parameters with which
you can customize an interactive action.
© 2003-2019 Stimulsoft
Dashboards 1007
The On Click group of parameters allows you to define an interactive action when
you click the left button of the mouse or touch the value of a dashboard element. The
Mode parameter allows you to select the type of interactive action:
None - when clicking on the value of the dashboard element, no action will occur;
Apply Filter - when you click on the value of the dashboard item, the dashboard
data will be filtered through the interrelation of its elements.
Open Hyperlink - when you click on the value of the dashboard item, the follow by
the hyperlink will occur. Also, when this type of action is selected, the Hyperlink
parameter will be displayed, in the value field of which you should specify a hyperlink.
© 2003-2019 Stimulsoft
1008 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Dashboards 1009
The Allow User Sorting parameter allows you to enable or disable displaying
sorting commands in the value column title menu. If the check box is checked for this
parameter, then sorting commands will be displayed in the title menu.
The Allow User Filtering parameter allows you to enable or disable displaying
filtering commands in the value column title menu. If the check box is checked for this
parameter, then sorting commands will be displayed in the title menu.
Information
You should know that, if the check boxes are cleared for the Allow User Sorting and
Allow User Filtering parameters, the title menu will be disabled for value columns.
© 2003-2019 Stimulsoft
1010 Stimulsoft Reports and Dashboards User Manual
The On Hover group of parameters is used to define settings for the Interactive
action when you hover over a data field value. The Mode parameter allows you to
select the type of the interactive action:
None - when you hover the cursor over the value of data fields, no action will occur;
Show Tool Top - when the user hovers the cursor over the value of the data fields of
the dashboard, certain information will be displayed. Also, if you select this type of
action, the Tool Tip option will be available. You can create and design a custom tool
tip.
Show Hyperlink - when the user hovers the cursor over the data fields, the
hyperlink for this data filed will be displayed. If the hyperlink is not set, then the value
itself will be displayed when hovering over the value.
The On Click group of parameters allows you to set an interactive action when you
click with the left button of a mouse or touch the value of a data field. The Mode
parameter allows you to select the type of an interactive action:
None - when you click on the value of the data field, no action will occur. You should
know that, if a hyperlink is specified for the values of the data field, then you can follow
by this hyperlink.
Apply Filter - when you click on the value of the data field, the data of the dashboard
will be filtered through the interrelation of its elements.
5 Data
This section provides information on using the data dictionary. The examples in this
section show the processes of creating a database connection from the Report
Designer, creating a data source to work with variables and their use in reports.
© 2003-2019 Stimulsoft
Data 1011
Note: When creating report templates you should consider the value of the
Retrieve Only Used Data property.
Each report contains the data dictionary. The data dictionary contains information about
the data used to create reports. This information includes: connections to databases,
data sources and their relations, variables, and business obj ects. Also the report data
dictionary may not have any information about the data, but the report will be
rendered. The report data dictionary is displayed in the Dictionary panel. The picture
below shows the Dictionary panel:
The Data Dictionary panel. Contains the basic controls in the dictionary.
The Information panel. Displays information about the data as a tree.
The Settings panel. Used to enable/disable some options to work with the data
dictionary.
© 2003-2019 Stimulsoft
1012 Stimulsoft Reports and Dashboards User Manual
The basic elements to control data dictionary can be found on the control panel. The
picture below shows the control panel:
The Actions menu. This menu contains the main control commands for the data
dictionary;
The New Item menu. In this menu the basic commands to create new elements in
the data dictionary are placed;
The Edit button provides an opportunity to change any element, which can be edited;
Using the Delete button one can delete any item in the data dictionary available for
deleting;
Pressing the Up/Down buttons, the selected item in the data dictionary is moved
one position up/down;
The Sorting Items menu. In this menu one can select the sorting direction:
Ascending, Descending. Also in this menu, one can enable Auto Sort. The picture
below shows the Sorting Items menu:
The Ascending option sorts the information in order from A to Z; The Descending
option sorts the information in order from Z to A. The Auto Sort sorts in order from A
to Z. One should note that the items are sorted within functional groups. For example,
data sources within the data sources group are not mixed with the variables and the
variables within the variables group are not mixed with the data sources, etc. Also note
the nesting of elements of the data dictionary.
In the Actions menu the main commands to control the data dictionary are located.
The picture below shows this menu item:
© 2003-2019 Stimulsoft
Data 1013
© 2003-2019 Stimulsoft
1014 Stimulsoft Reports and Dashboards User Manual
Commands using which it is possible to add new items to the data dictionary of a
report can be found in the New Item menu. The picture below shows the New Item
drop down list:
If you want to create a new data source in the data dictionary of a report, you must
select the New Data Source... command. The type of the data source depends on the
type of connection. When using this command, a wizard to create a new data source
that provides the ability to add more than one data table in a data dictionary of a report.
It is necessary to know that this is j ust a method of describing the data source.
To add a description of a new business obj ect to the data dictionary of a report you
should select the New Business Object... command. It should be remembered that for
each created business obj ect, you must pass real business obj ects from the program.
© 2003-2019 Stimulsoft
Data 1015
Since, as already mentioned before, only a method of describing data is created in the
data dictionary. So, without real business obj ects, it will not work.;
Add a new column in the selected data source or a business obj ect using the New
Column... command. Also, if the data column is added to the report data dictionary, but
it does not really exist in the database, it can lead to incorrect report rendering.
In the report data dictionary, it is possible add a new calculated column in the
selected data source. Use the New Calculated Column... command for this. In
contrast to the simple data column, for proper report rendering, it is not necessary for a
new calculated data column be placed in the database.
The command to add the variable to the data dictionary.
In order to organize a new relation between the data sources, you should use the
New Relation... command. It is worth to note that relations can be created only between
data sources and cannot be created between business obj ects. Therefore, if needed to
create the relation between business obj ects, the RegData method should be used
instead of the RegBusinessObjects method. The RegData method converts the
business obj ect into the ADO.NET DataSet. As a result, you can work with this business
obj ect by means of ADO.NET. Accordingly, it will provide an opportunity to add new
relations between business obj ects and use them.
If you want to add a new category of variables in the report data dictionary, you
should use the New Category... command. All variables are organized in a two-level
structure, where the variable can be located both in the main list and in the category,
which is located in the main list. Such a category can be created with this command.
The New Variable... command provides an opportunity to add a new variable into
the data dictionary. If, when calling this command, any category of variables has been
selected in the data dictionary, then the variable will be created in this category. If no
category in the data dictionary has been selected or the Variable element has been
selected in the data dictionary, then the new variable will be created at the top level of
the variables list.
The Data Source is a structural description of the data used for the report. The Data Source is like a
program "layer" which provides data from the database and its conversion and to the report
generator. In other words, the data source is a description of the methods, parameters, and data
access methods.
Notice: The description of data does not contain actual data. Filling the data is
carried out at the time of the report rendering process.
To create a data source you should select the New Data Source command in the New Item menu of
© 2003-2019 Stimulsoft
1016 Stimulsoft Reports and Dashboards User Manual
Before the new data source is created, you need to connect to the data storage. In the dialog of
creation the data source, connection types are grouped:
The Connection group contains already created links to the data storage. If no connection is
established, this group will not be displayed.
The Favorites group lists the types of connections that have been marked by the user. In other
words, the user can create a list of connections, checking them with stars. To do this, move the cursor
to the upper right corner of the connection and press the left mouse button (in the case of the touch UI,
simply press the input pointer). If the star is orange, the connection is added to the list of favorites. In
order to remove the connection from the list of favorites, you must click on the "burning" star:
© 2003-2019 Stimulsoft
Data 1017
In the left picture, the star is not checked, the connection is not selected. In the right picture, the
connection is selected. If no one is checked with the star then this group will not be displayed.
This group contains a list of all connections that support SQL connection strings.
This group contains data sources to connect to the data store using REST protocol.
The Other group contains commands to create connections to data stores such as the XML, Excel,
JSON, CSV, Dbase.
To create a connection to the database containing objects, you should use this group. For example,
for passing business objects from the repository in the report.
This group contains previously created connections. In other words, ever created connections to the
data stores but not available in the current report are located in this group.
The Skip Schema Wizard parameter. When you create a data source, the following
methods exist to obtain them from data storage:
Get the data scheme. In this case, you will see a hierarchical list of data in the form
of tables, views, stored procedures, etc. The user should select the required sources
with flags;
Generate a query to obtain data. For more details read about queries here.
To determine the method of obtaining the data is possible by means of the Skip
Schema Wizard parameter. If you want to retrieve the database schema, you should
uncheck this option. If you need to go to the creation of a query, check the flag for this
parameter. It should be borne in mind that you can go to the creating of a query from
the form of retrieving data by clicking the New Query button.
Once the connection is established, depending on the type of the data source and the Skip Schema
Wizard value, the create data source form is created.
5.1.2.1 Queries
Queries are text script forms, which are used to extract data from tables and making
them available in the report generator. Queries is that they get data from database
tables and create them on the basis of a temporary table. The data in the temporary
table will be filtered, grouped, sorted and ordered, according to the query parameters.
Then, the temporary table is passed to the report generator. Applying queries provides
the ability to avoid duplication of data in tables and provides maximum flexibility for
searching and displaying data in a database. Most of queries are used to fetch data
from the database and transfer them to the report generator. Not all data source types
support SQL queries. If the type of a data source supports SQL queries, the New Data
Source dialog will display the Text Query with the query. The picture below shows a
© 2003-2019 Stimulsoft
1018 Stimulsoft Reports and Dashboards User Manual
New Data Source dialog, where in the Query Text field a query for fetching is created.
As can be seen from the picture above the CategoryName column of the Categories
data source, and the columns ProductName, UnitPrice, UnitsInStock from the
Products data source will be selected. The relation between data sources is organized
by the key data column CategoryID. In order to get the data column, click the Retrieve
Columns button after building the query. In addition, before a query you can change
the type of the data source. The following types are available: Stored Procedure and
Table.
The Name in Source field. In this field, you can enter the name or you can click the to call a list
© 2003-2019 Stimulsoft
Data 1019
of names. The list of names will be displayed in the Name in Source dialog;
In the Name field specifies the data source name that appears in the report generator;
The alias of the data source should be indicated in the Alias field;
Command to control queries. This panel has the main items to control text queries. Click the Run
button to run the query for execution.
The Query Text field. This field specifies the text of the query.
The menu to select the data source type. The following types of data source are Table and Stored
Procedure. The picture below shows the selection menu of the data source type:
Commands to manage data. This panel lists commands such as creating a new column, the new
calculated columns, the new parameter. Among other things, this panel has the Retrieve Columns
command.
The Columns panel. This panel displays the data source columns, and parameters. Properties of the
selected column or parameter are located on the property bar.
5.1.2.1.1 Parameters
When creating a query it is possible to use the Parameter obj ect. This obj ect is
designed to send additional conditions for selecting data into a query. For example, if
you need a query to use a value entered by the user each time the query is executed,
you can create a query using parameters. The Parameter obj ect can only be used with
SQL data sources. These data sources are typically have the Text Query field. To insert
a parameter in the query, you must click the New Parameter button. The picture below
shows the toolbar, on which the New Parameter button can be found:
After clicking this button a new parameter will be created. This parameter will be
displayed in the Parameters tab in the Columns panel. The picture below shows an
example of the Columns panel with the Parameters tab:
© 2003-2019 Stimulsoft
1020 Stimulsoft Reports and Dashboards User Manual
Each parameter has a property with which you can change its settings. The picture
below shows the panel of parameters properties:
For each parameter you can specify a value that is used to populate the parameter.
The value can be an expression, const, variable, etc. For example, {x + y} or {variable}.
The Name property. Used to change the parameter name. This feature works only
for named parameters.
The Size property provides an opportunity to change the size of the type used in the
parameter. Keep in mind that each type in the database has its own size. Therefore,
when using a query, you must specify the correct type size. For some adapters,
database size may be omitted, but generally if the size is not specified or is incorrect,
then the queries using these parameters will be performed incorrectly.
Use the Type property in order to change the parameter type. The values of the
properties are in the drop-down list, and are a list of types used in the parameters for a
particular database. It should be noted that a list of types differs depending on the
database.
Also, you must specify the parameter in the query. Here is an example of schematic
position of parameters in the query:
© 2003-2019 Stimulsoft
Data 1021
As a rule, the @ symbol is used to specify a parameter in the query. The @ symbol is
used with named parameters, i.e. after the @ symbol goes the name of the parameter.
But in some databases (for example in OleDB), the @ symbol cannot be perceived by
the adapter and database queries with parameters will not work. In this case, you can
use unnamed parameters. For specifying unnamed parameters in the query the ?
character is used. After the ? character, the parameter name is not specified. In this case,
the order of parameters in the Parameters tab is important. As indications of the ?
characters in the query, parameters will be taken sequentially from the Parameters tab
in the top-down direction. Consider the following example. Suppose there are three
parameters that are specified in the query:
Since, in this case, unnamed parameters (marked with ?) are used, then, when running,
the query parameters will be taken from the Parameters tab in the top-down order.
The picture below schematically presents a comparison of parameters of the
Parameters tab to the parameters in the query:
In this case, the parameters used in this example, can have names, but when using the ?
character they play no role. Once a query to parameters is created and executed, the
parameters will also be displayed in the Dictionary, in the created data source in the
Parameters tab. The picture below shows an example of the Dictionary panel and
placing parameters in it:
© 2003-2019 Stimulsoft
1022 Stimulsoft Reports and Dashboards User Manual
To edit a parameter separately from the data source, select the Parameter in the data
dictionary and click Edit on the toolbar in the dictionary or select Edit item in the
context menu of the selected parameter. After pressing the button or selecting Edit, the
user will be shown the Edit Parameter dialog, in which you can edit the selected
parameter. The picture below shows an example of the Edit Parameter dialog:
© 2003-2019 Stimulsoft
Data 1023
A variable can be specified as a value in the parameter. In this case, values of the
variable will be the values of the parameter when requesting data. There are two ways
to use a variable in a query as a parameter:
Create a variable in the data dictionary. Open the data source for editing. Create a
parameter in the data source. Specify a variable as the value of this parameter.
Insert the parameter in the text of the query.
When creating or editing a variable, set the Allow using as SQL parameter check
box:
Register this variable in the text of the query, using the special "@" symbol before the
variable name:
© 2003-2019 Stimulsoft
1024 Stimulsoft Reports and Dashboards User Manual
Click OK. Now the variable is present in the data source and is used as a parameter in
the query.
5.1.2.1.2 Query Builder
The Query Builder is a visual component that allows creating queries visually. Creating
a query using a designer allows complete controlling the query parameters and
building of complex conditions of data selection using simple visual user interaction.
The picture below shows the Query Builder dialog:
© 2003-2019 Stimulsoft
Data 1025
Control Panel. Contains the Save button (saves the query) and the Close button
(closes the query builder);
Query tree panel. This panel shows the query tree.
Query design panel. This panel is an area in which the query is visually represented.
In this area, you can determine the initial database obj ects and derived data sources, as
well as define relations between data sources, configure the data source properties, and
references.
bar databases. This panel displays the database and included in her data sources;
Table panel. This panel shows a table in which rows are data columns used in the
query and columns are operations. In this table, you can define data columns, aliases,
sorting type, sorting order, grouping, criteria.
This panel displays a query built on the panel as a code.
The Query Builder contains the View tab, which provides an opportunity to display data
© 2003-2019 Stimulsoft
1026 Stimulsoft Reports and Dashboards User Manual
columns selected by the query. There operations in the query should also be taken into
account. The picture below shows the View tab in the Query Builder:
Click the Save button to add the created query text into the Query Text field.
Consider an example of creating a new data source. It is worth noting that before you can create a data
source, you must setup a connection. If there is no connection, then go to Dictionary, select New the
New Data Source command in the New Item menu:
© 2003-2019 Stimulsoft
Data 1027
In the opened menu, select the type of a connection, for example, OleDB. The form to create the
connection will be opened:
© 2003-2019 Stimulsoft
1028 Stimulsoft Reports and Dashboards User Manual
Specify the connection name, alias, and the connection string. Also you can find buttons to call the
query builder, to clean the connection string, the button to check the connection and the button of the
connection string template (for OleDB pattern is as follows: Provider=SQLOLEDB.1; Integrated
Security=SSPI; Persist Security Info=False; Initial Catalog=myDataBase; Data Source=myServerAddress). To
verify the connection string, press the Test button. In this case, if the connection string does not contain
errors, the user will see the Connection was successful window. If the connection string contains an
error, the user will be shown a window with the text of the error which was returned by the database
server in response to the attempt to create the connection. After clicking the Ok button, a new
connection will be created.
Next, the following ways to create a new data source are possible:
Obtaining data by schema;
Creating a request for retrieving data.
It specifies how to create a data source, such parameter as Skip Schema Wizard. If it is checked, then
after creating a connection, the user will see a the query form. If the checkbox is not checked, the data
schema will be retrieved.
Retrieving the data schema (the checkbox of the Skip Schema is not set)
After you create the connection you will go to the Select Data dialog. To get a list of tables from the
database, you must click the Refresh button in this window. You can also enable/disable the Auto
Refresh mode check/uncheck the checkbox. If checked, the wizard will automatically update the list of
data tables. The list in this window is represented as tabs which are arranged in a hierarchical form. The
© 2003-2019 Stimulsoft
Data 1029
For creating a new data source you should select the data table. It is also possible to exclude the table
data columns from the future data source. For this purpose, it is necessary to open the selected table
and uncheck the flag next to the name of the column that you want to exclude. By default, if you select
the data table, all the columns in this table are checked. They will be added to the new data source.
Each selected data table will be a single data source, ie, one table is one source. The picture below
shows the Select Data window with selected data tables and data columns selected:
After clicking Ok, the Categories, Products and Shippers data sources will be created. The picture
below shows the data sources created in the Dictionary:
© 2003-2019 Stimulsoft
1030 Stimulsoft Reports and Dashboards User Manual
Now, report templates will be created on the basis of these data descriptions.
Retrieving data without schema (the checkbox of the Skip Schema is set)
After the connection has been created and Skip Schema is checked and you will go to the Edit Data
Source dialog to create the query:
© 2003-2019 Stimulsoft
Data 1031
In this window you must define parameters such as the Name in Source, Name, Alias. Also, in the
Query Text field, it is necessary to form a database query and execute it. If the request is successful,
press the Retrieve Columns button.
Each column contains properties such as the Name in Source, Name, Alias, and Type.
To change the values of these properties, high you should select the data column, and,
© 2003-2019 Stimulsoft
1032 Stimulsoft Reports and Dashboards User Manual
in the Properties panel, to change and edit them. It is also possible to add or remove a
data column. To add a column, click the New Column button or the New Calculated
Column button. To delete a column, it is necessary to select it and click Delete.
© 2003-2019 Stimulsoft
Data 1033
Depending on the type of source, this box may not have the Query Text field, because not all
connections support SQL queries. All changes will be applied after pressing the Ok button. The Save a
Copy button saves a copy of the edited data source, with the Copy postfix in the name of the data
source.
© 2003-2019 Stimulsoft
1034 Stimulsoft Reports and Dashboards User Manual
The Name in Source field. Specifies the name in the data source (not in the report).
The column Name. Used to call the new column in the report.
The column Alias. Specified in the Alias.
The Type field. Used to select the type of data that will be contained in the new
column.
After clicking Ok, a new data column in the selected data source will be created. It
should be noted that the data column generated this way is only a description of the
(virtual) data columns and it does not contain real data. If the database does not have
this column, then when calling the database, the report generator will produce an error.
© 2003-2019 Stimulsoft
Data 1035
The Save a Copy button saves a copy of the edited data column, with the assignment
of the Copy postfix in the name of the data column.
The calculated data column is calculated on the base of an expression that can be used
by other data columns into an existing data source. The expression can be a name of
the non-calculated column, constant, function, or any combination, connected to one or
more operators. The expression cannot be a nested query. The calculated data column
is a virtual column that is not stored physically in the data source. The values of the
calculated data column are updated each time you access to them in the query. Also,
the values of calculated column are updated every time you change the columns
included into the calculated expression. Before you add a calculated column, you must
connect at least one data source. Consider the creation of calculated data column in the
data source Auto. The following columns are in this data source: Rank, Country,
Year2000, Year2005, Year2009. Columns Year2000, Year2005, Year2009 contain data
about cars produced in 2000, 2005, and 2009. Create a calculated data column, which
will contain data on the growth of production cars in 2009 relative to 2000, the results
are displayed in percentages. The picture below shows the data column of Year2000
and Year2009:
© 2003-2019 Stimulsoft
1036 Stimulsoft Reports and Dashboards User Manual
To create a new calculated column you should call the New Calculated Column
dialog and fill in the dialogue form. The dialog can be called from the context menu of
data source or from the Actions menu. The picture below shows the New Calculated
Column dialog:
The Name column is used to call this calculated column in the report. Enter in the
Name.
The Alias column is used as a prompt. Enter in the Alias.
The Type field provides the ability to choose the data type that will contain the new
calculated column.
The Dictionary button contains a drop-down menu that displays the structure of the
data dictionary. In this menu you can select data columns, business obj ects, or system
variables that will be added to the calculation of expression of the calculated data
column.
The Value field is used to define an expression for calculating the values
of the new
calculated data column.
© 2003-2019 Stimulsoft
Data 1037
In this example, the calculation expression will contain data columns Year2000 and
Year2009 from the data source Auto, and the type of data in a new calculated column
will be double. After the column is created, you should place a text component with a
reference to this data column. In this example, the text component will contain a link
{Auto.NewCalculatedColumn1}. As the result of calculations is necessary to be
displayed in the percentage, then this text component should change the format, i.e. set
the Percentage format. Below is a report with the calculated data column:
In the report generator you can create a data source based on existing data sources.
The Data from other Data Source provides analogical features like the query to the
database. When creating a data source using the visual interface, in the process of
creating a data source, to perform sorting, grouping, filtering, and calculating of totals
using aggregate functions. Consider the example of creating data from other data
sources. Suppose there is a Master-Detail report, to which each category corresponds
a number of products. The picture below shows a page of the Master-Detail report
(shown partially):
© 2003-2019 Stimulsoft
1038 Stimulsoft Reports and Dashboards User Manual
As can be seen from the picture above, the name of the category, product name (related
to this category) and the price of the product are displayed in the report. If you want to
create a report that displays the name of the category and the total value of all products
included in this category, it can be done in various ways. But the easiest way is to create
a data source based on another data. To do this, select Data from other Data Source
item in the New Data Source dialog and setup the data source you create. The picture
below shows the second form of the New Data Source dialog:
© 2003-2019 Stimulsoft
Data 1039
As can be seen from the picture above, the process of creating data from other sources
includes the following steps:
Data Source. On this stage, you must specify the Name of a new data source and its
Alias. In our example, the alias name and the data source name is DataSource1. You
should also select a data source on which to setup a new one. In this case, the selected
data source Products. This step is optional.
Sorting criteria are specified in the Sort step. On this stage you should specify the
data column to be used for sorting, and to select the sorting direction. This step is
optional.
Set conditions of filtering data in a new data source on stage Filters. To filter the data
you need to add a filter to specify an expression or a condition that will be filtered. This
step is optional.
To specify the conditions of grouping data in a new data source, you can do the step
Groups. To group the data you should indicate the data column by which the data will
be grouped, and select your destination of groups location. Data column, by which
grouping will be performed will present in the new data source. In this example, using
the relation, between data sources Categories and Products, indicate grouping by the
© 2003-2019 Stimulsoft
1040 Stimulsoft Reports and Dashboards User Manual
data column CategoriesName, which contains the names of categories. This step is
optional.
The last step is Results. In this step, you can make the calculation on a data column
with aggregate functions. The picture below shows the Results tab:
As can be seen from the picture, this tab should indicate the following parameters:
Select the data column in the Column field that will be present in the new data
source or from which data will be collected to calculate the aggregate. This field is
mandatory. For example, the data column UnitPrice is selected. It contains data on the
products prices.
The Aggregate Function menu is a list of aggregate functions that can be used to
calculate the selected data columns. Aggregate functions can be omitted in this case,
the data column will contain data, which are in the data column, which is the basic one.
In this example, select the aggregate function Sum, which summarizes the data.
In the Name field specify the column name, which is used to refer to this calculated
column in the report.
Now for the report rendering the data source DataSource1 can be used, which
contains two data columns: CategoryName and UnitPrice.Sum. The picture below
shows a report, based on data from a data source DataSource1:
As can be seen in the picture above, each category corresponds to the total value of all
products included in this category.
© 2003-2019 Stimulsoft
Data 1041
In Stimulsoft Reports you can create a data source based on cross-table, i.e. you can
create a new source, which columns will be columns of the rendered cross-table, and
strings are the strings of the rendered cross-table. Consider an example of creating a
data source based on the cross-table. The picture below shows a report page with the
rendered cross-table:
To create a data source based on cross-table, you should call the New Data Source
dialog and select the Data from CrossTab item. The picture below shows the New
Data Source dialog:
© 2003-2019 Stimulsoft
1042 Stimulsoft Reports and Dashboards User Manual
After clicking Ok, in the next dialog form New Data Source, you should indicate the
Name of the new data source and cross-table, which will be used as a basis. You can
also specify the Alias of the new data source. The picture below shows the second form
of the New Data Source dialog:
© 2003-2019 Stimulsoft
Data 1043
After clicking Ok, you will create a data source DataSource1, which will contain the
columns ShipCountry, CategoryName, UnitsPrice. The data source on the base of
the cross-table is a virtual data source that does not contain real data. Filling this source
occurs when rendering the cross-table. Therefore, a report that will use this data source,
for example, to render a report with the list, must contain the cross-table on the base of
which the data source was created. For example, create a report with the list. Put the
cross-table in the first report page, and in the second page, put the DataBand with text
components, which will contain the expressions {DataSource1.ShipCountry},
{DataSource1.CategoryName}, {DataSource1.UnitsPrice}. The picture below shows
a part of the report page with the rendered list:
© 2003-2019 Stimulsoft
1044 Stimulsoft Reports and Dashboards User Manual
When rendering a report, the report generator fills created data source DataSource1
with data from the cross-table and display the data as a list.
If you want to build a report based on the custom data then, in Stimulsoft Reports, you
can create custom data based on custom data sources. To do this, you should select
Data from User Sources in the New Data Source window, and in the next New Data
Source dialog box, configure a custom data source. The picture below shows the form
New Data Source:
© 2003-2019 Stimulsoft
Data 1045
© 2003-2019 Stimulsoft
1046 Stimulsoft Reports and Dashboards User Manual
Consider an example. For example, a MS SQL database that contains data tables, stored
procedures, and views is used. The picture below shows the data structure of the
dictionary:
© 2003-2019 Stimulsoft
Data 1047
Each table contains data from one to the plurality of data columns, with at least one
data row. For example, only the CustomerCustomerDemo data source will be used in
the report.
© 2003-2019 Stimulsoft
1048 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Data 1049
5.1.3 Relation
Relation is created between data sources and defines how should data from these
sources be bind. When creating a relation, keys which play a role of data columns, are
indicated. As a result, a relation is a connection between data sources on the basis of
one or more key data columns. The Relation provides the ability to filter, sort, display
data when accessing the same data source via a relation from another data source. Let's
review the following example. The picture below shows two data sources - Categories
and Products (partially):
The relation is organized by the key data columns. Key data columns are present in the
data sources, among which a relation is organized, and contain the keys. For example,
© 2003-2019 Stimulsoft
1050 Stimulsoft Reports and Dashboards User Manual
in Categories and Products data sources the key columns are CategoryID. It should
be noted that in this example, the names of key columns are the same, but this is not a
prerequisite. The key data column in the data source Categories is called CategoryID,
and the data source Products - CategoryNumber. Organizing the relation between
data sources Categories and Products by the key columns CategoryID, where the
data source Categories is the master data source, and Products is a detail data source.
The relation between data sources will have the form as shown in the picture below
(partially):
As can be seen, after the organization of a relation, to each entry from the data source
Categories will be matched to entries from the data source Products. In this example,
entry Beverages is matched to entries Chai and Chang; entry Condiments is matched to
Aniseed Syrup, Chef Anton's Caj un Seasoning, Chef Anton's Gumbo Mix, Grandma's
Boysenberry Spread; entry Dairy Products is matched to Queso Carbales and Queso
Manchego La Pastora.
5.1.3.1 Filtering
In Stimulsoft Reports it is possible to filter data using relations between data sources.
Let's review data filtering via a relation (in the example we use data source Products). If
you want to filter data by the category name, i.e. by the entries in the data column
CategoryName of the data source Categories, then, with established relation between
data sources Categories and Products, to add a filter to the expression:
Products.RelationName.CategoryName == "category name" by which filtering will
occur. The picture below shows a window of data filtering via the relation between data
sources:
© 2003-2019 Stimulsoft
Data 1051
where Products is a data source name; RelationName is a name of the relation between
data sources, i.e. reference to another data source vie the relation; CategoryName is a
data column in the data source.
Now, when rendering a report, the report generator filters data from the data source
Products and displays the data that belong to the category Beverages. The picture
below shows a page of the rendered report:
5.1.3.2 Sorting
When sorting data it can be used not only columns in the specified data source but the
columns in the source, which can be accessed vie the relation. Let's review data sorting
using a relation (in the example we use data source Products). If you want to sort by
© 2003-2019 Stimulsoft
1052 Stimulsoft Reports and Dashboards User Manual
category name, i.e. entries in the data column CategoryName of the data source
Categories, then, with established relation between data sources Categories and
Products, to add sorting to the expression: Products.RelationName.CategoryName.
You should also select sorting direction. In this example we set the Ascending sorting
direction. The picture below shows a window of data sorting via the relation between
data sources:
Now, when rendering a report, the report generator will sort data from the data source
Products by names of the categories in alphabetical order from A to Z. The picture
below shows a page of the rendered report:
© 2003-2019 Stimulsoft
Data 1053
Stimulsoft Reports tools can display data from a bound data source. For example, data
from columns are displayed in a report: ProductName, UnitPrice, UnitslnStock of
the data source Products. The picture below shows the a page of the report:
© 2003-2019 Stimulsoft
1054 Stimulsoft Reports and Dashboards User Manual
If you want to display a category name instead of a product one, and the data column
with the names of categories is not present in the data source Products, then it can be
done using a relation between data sources. To do this, you should change the
expression Products.ProductName in the text component to the expression
Products.RelationName.CategoryName. Using the relationship between data
sources, the report generator, when report rendering, will take the names of categories
from the column CategoryName of the data source Categories, and substitute them
instead of the expression. The picture below shows the a page of the rendered report
displaying category names instead of the product name:
As can be seen in the picture above, instead of the product names, the category names
to which products are related are output.
© 2003-2019 Stimulsoft
Data 1055
"From the detail via a relation to the master data source" scheme was used in the
previous chapters (filtering, sorting, and showing information). When you render a
Master-Detail reports a different scheme "from master to detail" is used, i.e. the relation
works in reverse order. For example, in the report template DataBand1 is placed in the
report template. This band contains a text component with reference to a data column,
which contains the categories names. Then, when rendering a report, you will see a list
of categories. The picture below shows a report page with the names of categories:
Suppose you want to compare each category from the list to the list of products. To do
this, follow these steps:
Add DataBand2 to the report template;
Specify a data source that contains a list of products and the relation between
data sources;
Select the Master component;
Put a text component with reference to a data column from the selected data
source in the DataBand2. For example, on a data column that contains the name of
the product.
And then, when rendering a report, each Master entry will be compared to a list of
Detail entries. The picture below shows a diagram of a Master-Detail report:
© 2003-2019 Stimulsoft
1056 Stimulsoft Reports and Dashboards User Manual
It is possible to create a relation between data sources in the data dictionary. In order to
do this select the item New Relation in the context menu of a data source or from the
menu Actions. The picture below shows a New Relation dialog:
© 2003-2019 Stimulsoft
Data 1057
As can be seen there are nine fields, which define the relation parameters:
In the field Name in Source the name of a relation is specified. By this name the
relation will be found from the original data (for example in the DataSet). If the relation
between data sources will be created on the basis of a relation in the DataSet, then this
name will coincide with the field Name. This field is required to be filled.
Filed Name is used to specify the name of a relation which is used to refer to this
relation in the report. This field is required to be filled.
In the field Alias a hint for the relation will be specified and displayed to the user.
This field is mandatory.
Filed Parent DataSource indicates the parent data source for the relation. This field
is required to be filled.
Filed Child Data Source indicates a detail data source for this event. This field is
required to be filled.
© 2003-2019 Stimulsoft
1058 Stimulsoft Reports and Dashboards User Manual
This field displays the selected column from the parent data source. In order to
create a relation, you should select the column by which the relationship will be
arranged.
This field displays the selected column from the child data source. In order to create
a relation, you should select the column by which the relationship will be arranged.
The Active Relation parameter sets the mode of using the current relation by
default, for example, when creating a new data transformation.
Information
The editor of relations has the built-in control. In case of issues with creating a
relation, the user will see an error message. In this case, you cannot click the Ok
button, until the issues are fixed.
When creating or using relations between data sources, the following restrictions are:
Selected data sources (parent and child) must be of the same type, i.e. types relations
should be identical. If the types relations are different, then you can use the
CashAllData property.
Name must be present and correct, in terms of C# or VB.NET compiler. If the name
is reserved in the source, you must add the @ symbol before the relation name. For
example, @relation.
Column-keys must comply with all rules of creation a relation to ADO.NET:
Their number must be the same;
Their types must match, so if the primary column-key of the String type, then the
child column-key must be of the String type;
Keys must be specified, so the relation cannot be created without keys.
5.1.4 Variables
In Stimulsoft Reports you can use Variables in the report. The Variable is the
opportunity to place and use of any value when rendering reports. The values can be of
different types: string, date, time, number, array, collection, range, etc. All variables are
stored in the data dictionary. Before using a variable in the report, it is necessary to add
it to the data dictionary. To add a variable you can select the New variable... in the New
© 2003-2019 Stimulsoft
Data 1059
Item of the data dictionary. The picture below shows the New Item menu:
Also, you can create a new variable by selecting New Variable... in the context menu of
the Dictionary:
After selecting this item, the New Variable dialog will be called. In this dialog you can
set the parameters of the variable. The picture below shows the New Variable dialog:
© 2003-2019 Stimulsoft
1060 Stimulsoft Reports and Dashboards User Manual
The Name field specifies the name of the variable used in the report.
The alias, name of the variable that is displayed to the user, you can specify it in the
Alias field.
In the Description field, you can specify a description of the variable.
In the Type field you can change the type of data that will be placed in a variable, and
the type of the variable. This field is represented by two fields with drop-down lists. The
first list is a list of all available data types divided into categories:
© 2003-2019 Stimulsoft
Data 1061
As can be seen from the picture, the integer is selected. The second list contains a list of
variables. Depending on the type of a variable, some additional fields of parameters can
be displayed. The list of types of variable fields is presented in the second list of the
Type field (see. picture above). The picture below shows a list of types of a variable:
As can be seen from the picture, the variable can be of the following types - Value,
Nullable Value, List, Range. Next, consider all types of a variable and the Request from
User option in detail.
The Read Only parameter sets the read-only mode. In this case the value stored in a
variable is returned and the user cannot change it. If the value is initialized as an
expression then, at the time of treatment to our variable, the expression will be
calculated each time.
© 2003-2019 Stimulsoft
1062 Stimulsoft Reports and Dashboards User Manual
The Request from User parameter establishes a mode under which the returned
value can be changed by the user. It should be noted that, if the Request from User is
set to true, an additional panel will be displayed. This panel has variable settings that
determine the possibility of interaction with the user. In addition, the New Variable
dialog can be modified.
The Allow using as SQL parameter parameter gives an opportunity to use a variable
as a parameter in the query when selecting data.
Information: When editing a variable, the Save a Copy button will be displayed in
the window. When you click on this button, a copy of the edited variable with the
Copy postfix in the variable name, will be created.
The Request from user panel contains parameters controls. These parameters
determine the possible involvement of the user when using the variable in the report.
Some options may present or absent, depending on the value of the Data Source field.
The picture below shows the Request from user panel, if in the Data Source field the
Data Columns value is selected:
The Allow User Values parameter. Provides an opportunity to set the dialogue
mode, i.e. using this variable in a report the user may input values.
The Data Source field. Contains a drop-down list of values. Depending on the
selected value: Items or Data Columns, on this panel will be fields either Items, or
Keys and Values.
The Keys field. using the , the data column is selected. The entries of the column
will be keys.
The Values field. using the , the data column is selected. The entries of the column
will be values.
If the Data Source is set to Items, then on the Request from user panel other options
will be located. The picture below shows the Request from user panel:
© 2003-2019 Stimulsoft
Data 1063
The Allow User Values parameter. Used to set the dialogue mode, i.e. using this
variable in a report the user may input values.
The Data Source contains a drop-down list of values. Depending on the selected
value: Items or Data Columns, on this panel will be fields either Items, or Keys and
Values.
The Items field. Displays a list of created variable items. If the items are not created,
then this field will be blank. It should be noted that the order of items in the list
depends on their priority on the list panel in the Items dialog, the higher the item is the
left its position is in the list, and vice versa.
The Editor button. Calls the Items dialog, where you can create new items, remove
existing or edit them.
In the Items dialog you can create, delete, edit items (values,
expressions). This window
is invoked when clicking the Editor in the Variables dialog. The picture below shows
the Items dialog:
© 2003-2019 Stimulsoft
1064 Stimulsoft Reports and Dashboards User Manual
the order of items in the list affects sequence of items in the Items field on the Request
from User panel.
The properties panel. In this panel the properties of the selected item are displayed.
The item has two properties: Key and Value.
The panel displays the description of the selected property.
Control Panel
As mentioned above, on this panel (see the picture above) the buttons to control items
are placed.
The New Value button. Used to create a new type of the value;
The New Expression button. Creates a new type of an expression;
The Select Columns button. Calls a dialog where you can specify data columns as
keys and values;
The Remove button. Removes the selected item.
The Navigation buttons. Used to move selected item up or down in the toolbox.
The Close button. Closes the Items dialog saving changes.
When you create a report with parameters, you can use the dependent variables. In this
case, one variable will be independent, and the rest ones will depend on it or will
represent a hierarchy. Each subsequent variable is dependent on the previous one. To
become dependent, the variable must have the checkbox Dependent Value is enabled
(it is located on the panel Request From User when you choose a data source Data
Column). After you enable the checkbox two fields will be displayed: the Variable and
Dependent Column. In the first field, select the variable that will be the main one from
which this variable will depend. In the second field select the data column, which will be
in relation with the main variable.
© 2003-2019 Stimulsoft
Data 1065
© 2003-2019 Stimulsoft
1066 Stimulsoft Reports and Dashboards User Manual
The dependent variables provides an opportunity to reduce the list of variables. In other
words, you can establish a connection among variables. This will lead to filtering the list
of values
depending on the value of the main variable. For example, depending on the
selected category, a list of values
of a variable by product is created, and, depending on
the selected product, a list of detailed information is created. For example, the category
Condiments will be selected, then the list of products will be filtered and will look like
this:
© 2003-2019 Stimulsoft
Data 1067
Now select the product Genen Shouyu, and then the list of detailed information will be
like this:
Consider creating and using variables in the report. Create two variables, one of which
will contain a list of categories, a second is list of products. And the list of products will
depend on the selected category. For example, on the base of data sources from our
Demo application.
Create variables Category and Product, of the type Value with initialization of data
integer. In the main variable (Category), choose the keys Categories.CategoryID, and the
values
Categories.CategoryName.
Notice: The key is a unique identifier of a record (row) in the data source. In this case,
CategoryID will be a column that contains keys, and ProductID - for products. The
connection is organized by keys between the data sources. It is important to understand
that different product keys may be related to the same category key.
© 2003-2019 Stimulsoft
1068 Stimulsoft Reports and Dashboards User Manual
As can be seen from the picture above, the second variable (a list of values)
displays not
complete list of stored values, but only those values that belong to the selected
category.
Add a third variable in the data dictionary. The variable will be named All, of the type
Value with initialization data bool.
Now use the dependent variable in the report. Suppose we have a Master-Detail
Report, where each category has a few products. Add filters with expressions on Data
bands in the report template in order to choose a certain product or products of a
certain category:
The first filter is on the data band Master. (this is the band with which a list of
categories is created in the report). It is necessary to filter categories, depending on the
selected report parameter, so the expression looks like Category ==
Categories.CategoryID.
Next, add a second filter on the data band Detail (this is the band with which a list of
products is created in the report). The filter will have the expression Product ==
Products.ProductID.
© 2003-2019 Stimulsoft
Data 1069
Switch to the tab Preview. In the report parameters select a category, then a product,
apply settings to filter report data:
As can be seen from the picture above, the category Grains/Cereals was chosen (note,
the key of the category is 5) and the product Gustaf's Knackebrod (product key = 22). In
other words, all categories with the key 5 and all the products with the key 22 are
displayed.
© 2003-2019 Stimulsoft
1070 Stimulsoft Reports and Dashboards User Manual
As can be seen from the picture above, one category (key = 5) is displayed, and all
products related to it, with different keys.
The example that was reviewed above is a single-level dependency. Now consider a
more complex example of a two-level dependency. Leave the category, products related
to them, and add detailed data by each product. To do this, create the variable Order of
the Value type with initialization of data integer. Next, enable the checkbox Request
From User, select the data source as the data column.
In the report, select a category, and the list of products is filtered. Select the product,
and then the list of detailed data for the selected product is filtered. Select a detailed
© 2003-2019 Stimulsoft
Data 1071
If you need to display all the detailed information on the selected product, you should
change the filter expression in the Data band with detailed data by products. The
expression will be with Variable3 and will look Order == Order_Details.OrderID || All.
Now, you can simply specify a category, select a product and get all the detailed
information on it:
© 2003-2019 Stimulsoft
1072 Stimulsoft Reports and Dashboards User Manual
As can be seen from the picture above one category, one product and all the details by
the product were printed. It is also worth noting that the number of nesting levels is not
limited.
The variable of the first type provides the ability to place a simple value of any available
data type or expression. Consider the example of creating such a variable. Call the New
Variable... command. The dialog box in which to define the parameters of the variable
will be opened. The Value variable is set by default. The picture below shows the New
Variable dialog:
© 2003-2019 Stimulsoft
Data 1073
The Init by field has a menu with the drop-down list. Depending on the selected item
in this menu the type of the value in a variable is defined: Value or Expression, i.e. the
method of initializing a variable as a value or expression is selected. In this example, the
variable is initialized as a Value.
This field specifies the value to be stored in a variable. Please note that this field may
be missing. If, for example, the Expression is selected in the Init by field, then this field is
absent, and the Expression field present instead. In this case, in the Expression field you
should specify an expression that will be stored in a variable. In this example, the
variable is equal to 2.
After pressing the Ok button the variable named Variable1 will be created. Consider
the example of using variable of the type Value in the report. Suppose there is a report
that contains information about employees (see the picture above).
© 2003-2019 Stimulsoft
1074 Stimulsoft Reports and Dashboards User Manual
The Nullable Value variable provides the ability to place simple values and values
equal to null. If it is necessary to return a null value in the report, then when using a
variable of another type, the report compilation error occurs. The picture below shows
the New Variable dialog of the Nullable Value:
The Init by field has a menu with the drop-down list. Depending on the selected item
in this menu the type of the value in a variable is defined: Value or Expression, i.e. the
method of initializing a variable as a value or expression is selected. In this example, the
variable is initialized as a Value.
This field specifies the value to be stored in a variable. Please note that this field may
be missing. If, for example, the Expression is selected in the Init by field, then this field is
absent, and the Expression field present instead. In this case, in the Expression field you
© 2003-2019 Stimulsoft
Data 1075
should specify an expression that will be stored in a variable. In this example, the
variable is equal to 2.
5.1.4.4 List
The List variable provides the ability to place a list of values of any available data type.
In contrast to the Value variable, in this case, when report rendering, the variable
contains a list of values. The picture below shows the New Variable dialog with the
selected List type:
After clicking OK, a variable named UNN and the stored list of values
from 0 to 8 will
be created. Consider using a variable created in the report. Suppose there is a report
that contains numbers, names and descriptions of categories. The picture below shows
a report page:
© 2003-2019 Stimulsoft
1076 Stimulsoft Reports and Dashboards User Manual
If you want to show some of the categories then use already created variable in the
report. To do this, add a filter in the DataBand with the expression
UNN.Contains(Categories.CategoryID), where UNN is the variable name. When
rendering a report, by default, all categories are displayed. All values
in the list of stored
values
of the variable are selected. Also,values, for example Grains/Cereals and keys,
for example [5] are displayed in the variable list . The picture below shows a list of
variable values
:
Because the Allow User Values parameter is not enabled, in this example, the user can
only select values,
stored in the variable, but cannot use their own values. Suppose the
values such as Beverages [1], Confections [3], Produce [7] will be selected. Then,
after clicking the Submit button, the generator will build a report, considering the
filtering conditions and display entries 1,3,7. Below is a report using a variable is shown:
© 2003-2019 Stimulsoft
Data 1077
5.1.4.5 Range
If using a variable of this type in the report, you can work with ranges of values. In this
case, the variable will store a range of values . The picture below shows the New
Variable dialog of the Range type:
The Init by field has a menu with the drop-down list. Depending on the selected item
in this menu the type of the value in a variable is defined: Value or Expression, i.e. the
method of initializing a variable as a value or expression is selected. In this example, the
variable is initialized as a Value.
© 2003-2019 Stimulsoft
1078 Stimulsoft Reports and Dashboards User Manual
The From field. Specifies the starting value of the range. The value in this field is
included into the values range. In our case the date 01/01/2008; 00:00:01 is specified.
The To field. Specifies the ending value of the range. The value in this field is included
into the values range. In our case the date 12/31/2008; 23:59:59 is specified.
After clicking OK, the variable will be created. Here is an example of this type of the
variable in the report. Suppose there is a report that contains information about orders:
country, name and date of delivery. The picture below shows a report page:
If you want to display information about orders, which were processed in 2008, then
use the variable created in the report. To do this, add a filter in the DataBand with the
expression Orders.ShippedDate > Variable1.FromDate & & Orders.ShippedDate
< Variable1.ToDate. When rendering a report, you will see only the information about
orders that were processed in 2008. Below is a report with orders in 2008:
It is worth noting that when referring to the start/end range value, if the DateTime
data type is used, then to avoid additional changes, you can address to the
VariableName.FromDate (or VariableName.FromTime if the TimeSpan data type
is used) and VariableName.ToDate (or VariableName.ToTime if the TimeSpan
data type is used).
© 2003-2019 Stimulsoft
Data 1079
Depending on the selected parameters the variable in the report can be operated in the
following modes: autonomous, user (with selecting values), user (with inputting values).
Let us consider these modes in more detail.
Autonomous
This mode will be applied if the Request from User parameter is disabled, i.e. using a
variable in the report, no action will require from the user. Create a variable that will
store the value 2 of the integer type with the name UNN. Use this variable in the report.
The picture below shows an example of the rendered report:
In this case, when rendering a report, no action will require from the user.
© 2003-2019 Stimulsoft
1080 Stimulsoft Reports and Dashboards User Manual
this variable in the report. The picture below shows an example of the rendered report:
After selecting the value, click the Submit button to apply the selected value or the
Reset button to reset the initial value in the list. The picture below shows the variable
panel in the report:
When clicking the Submit button, the report generator will filter data and display these
data, which CategoryID is equal to the selected value. The picture below shows an
example of a report with the selected value 4:
© 2003-2019 Stimulsoft
Data 1081
The Reset button resets the current value and sets the first top value from the variable
list.
Add a filter in the DataBand, where as the filter condition, specify the expression
UNN.Contains(Categories.CategoryID). Now, when rendering a report, it is
necessary to edit the list of values of the variable (remove unwanted items, or change
the key in the item field, or create a new item) in the viewer window. The picture below
shows an edited list of the variable:
© 2003-2019 Stimulsoft
1082 Stimulsoft Reports and Dashboards User Manual
The New Item button. Creates a new item with the field in which to specify a key;
The Remove buttons. Remove the item to which they belong. Each item in the list
has such a button.
The Remove All button. Removes all items from the list;
The Close button. Closes this menu saving items and input keys.
After that, click the Submit button. Now the report generator will filter data and display
the data which the CategoryID is equal to keys specified in the fields in the list of the
variable values. The picture below shows the filtered report:
The Reset button, in this case, resets the current list of values
to the original one.
5.1.5 Connection
The Connection obj ect of the data dictionary describes the report parameters that are
used to retrieve data from the database. Stimulsoft Reports supports many types of
connection obj ect. All types can be divided into two groups: built-in ones that are
included into the report generator, and external data adapters that can be downloaded
from our website Database Packs. These packs can be used only for the reporting tools
of the product line Stimulsoft Reports.
© 2003-2019 Stimulsoft
Data 1083
If to choose any other type of connection, the dialog box will be a New type
connection, in which set the connection Name and String. Also specify the
connection Alias. The picture below shows the New OleDB Connection dialog box:
© 2003-2019 Stimulsoft
1084 Stimulsoft Reports and Dashboards User Manual
Also in the Select Type Of Connection window we can find a Recent Connections
folder, which contains previously established connections. At the same time it can
contain up to 15 connections. When creating subsequent connections, the first
connection will be overwritten and so on. If you need the connection never be
overwritten, set write protection for it, you should click the Pin icon. In order to remove
the write protection, you must click UnPin icon (see the picture above). When selecting
a connection from the Recent Connections folder, the next dialog box is New xml
Data when choosing previously created xml connection, or New type connection,
when any other type is chosen, with already filled fields. If necessary, empty fields may
be edited.
External adapters
In addition to the basic types of connections, there are also external data adapters that
provide connection to the following databases:
Firebird;
IBM Db2;
MySQL Connector.Net;
MySQL CoreLab;
Oracle;
Oracle Data Provider for .NET;
PostgreSQL;
© 2003-2019 Stimulsoft
Data 1085
PostgreSQL CoreLab;
Sybase Advantage Database Server;
Sybase Adaptive Server Enterprise;
SqlCe;
SQLite;
VistaDB;
Uni Direct;
dot Connect Universal;
Informix;
EffiProz.
StiOptions.Services.DataAdapters.Add(new
Stimulsoft.Report.Dictionary.StiTestXAdapterService());
StiOptions.Services.DataBases.Add(new
Stimulsoft.Report.Dictionary.StiTestXDatabase());
To attach an assembly file to Designer.exe, place this assembly file in the same
directory in which the Designer.exe is located. Furthermore, it should provided an
access to a data provider assembly. Thereafter, in the Select Type Of Connection
dialog a new type of connection will be available, in our case, MySQL Connector.Net.
There are no restrictions on the number of connections created for various types of
data sources in report generator.
The panel (see the picture below) contains controls that provide an opportunity to
change auxiliary parameters of the data dictionary.
© 2003-2019 Stimulsoft
1086 Stimulsoft Reports and Dashboards User Manual
If the option Create Field on Double Click is enabled, then when double clicking
the data column data in the report data dictionary, the report template in the DataBand
will create a text component with reference to this data column;
The parameter Create Label is used to create two text components (one with the
signature, the a second with reference to the data column) when dragging a data
column into the report. If this option is disabled, then, when dragging, only one text
component with reference to a data column will be created;
In order to show the alias instead of the name, enable the option Use Aliases. If this
option is disabled, it will display a name of the element.
Stimulsoft Reports offers to use system variables in expressions. System variables are
variables which provide information about the current status of a report. The following
system variables are available:
© 2003-2019 Stimulsoft
Data 1087
A Business object is an obj ect of the data class that can be used to represent data in
© 2003-2019 Stimulsoft
1088 Stimulsoft Reports and Dashboards User Manual
various structures: tables, lists, arrays, etc. In order to create a description of the
business obj ect in the data dictionary, you need to select New Business Object... in the
context menu of the data dictionary or in the menu New Item. After selecting this
command the first dialog box of New Business Obj ect will be opened. The picture below
shows the first dialog box New Business Obj ect:
It should be noted that a child business obj ect can be created for each business obj ect.
To do this, select the business obj ect and call the command New Business Object...
Then, the first dialogue box of New Business Obj ect will be called, in which the option
Child of Business Obj ect will be checked. After you click OK in that dialog box, the
second dialog box will be opened. There you should specify the parameters of the new
business obj ect. The picture below shows the second dialog box of New Business
Object:
© 2003-2019 Stimulsoft
Data 1089
In the field Category you can specify the name of the category. If this field is filled,
then the category of business obj ects in the report dictionary will be created. If the field
is left blank, the category will not be created. When you create a child business obj ect
this field is not editable.
The field Name is used to specify the business obj ect. This field must be filled and, in
this case, the name List is used.
The field Alias specifies the alias of the business obj ect. If it will not be changed by
the user, then, by default, the alias is the same as the name of the business obj ect. In
our case, it is List.
The button New Column. When you click it, a new data column will be created in the
business obj ect. It should be noted that the data column created this way is the virtual
one, and does not contain actual data.
When you click the button New Calculated Column, a new calculated column will
be inserted into the business obj ect.
When you click the button Delete, the selected data column will be deleted. If the tab
Columns is selected, it will remove all the columns, which are located in the tab.
The button Retrieve Columns is used to get a data column from the business obj ect.
The button Get Columns from Assembly will open the dialog Open Assembly, in
which you select an assembly file. After selecting the file, press the button Open and
data columns (if they are present there) will be extracted from that file.
© 2003-2019 Stimulsoft
1090 Stimulsoft Reports and Dashboards User Manual
The panel Columns has three fields. These fields show a list of columns, their
properties and description
Note. The Business obj ect created this way does not contain actual data. Therefore,
when rendering a report using this business obj ect the error will occur. The Business
obj ect with the real data is generated and passed from the code.
5.1.9 Resources
YouTube
Resources are files that can be embedded in a report template. The following can be
added as resources:
Data files - CSV, Excel, JSON, XML, DBF;
Image files - SVG, JPEG, JPG, PNG, BMP, GIF and other image files.
Report templates (*.mrt, *.mrz) and built reports (*.mdc, *.mdz).
RTF files.
After selecting this command, the menu for creating a new resource will be displayed:
© 2003-2019 Stimulsoft
Data 1091
Information
When you embed a big file into a report with data or images, and when you add
multiple resources, the size of the *.mrt file can be significantly increased.
© 2003-2019 Stimulsoft
1092 Stimulsoft Reports and Dashboards User Manual
To save a resource from the report designer, you should select the resource in the Data
Dictionary and click Save in the context menu. In this case, a dialog will be called in
which it is necessary to specify the location for saving the file. Then, click the Save
button and the resource will be saved in the format of the source file. In addition, if a
*.mrt file was added to the resource, then the *.mrt file will also be saved when this
resource is saved.
When designing reports, data files (CSV, Excel, JSON, XML, DBase) are often used. Based
on these files, you can create data sources in the data dictionary that will be used to
create report templates. In this case, the data sources will not contain real data but only
a description of the methods, parameters and methods to access to real data. The
transfer of data from the file to the data sources, and accordingly the filling of the actual
data of the report, occurs when rendering of this report.
In this case, you should always consider the specified path in the data source to CSV,
Excel, JSON, XML, DBase files, and, if necessary, edit them. Also, if you want to transfer
the report template to another user, you should provide a data file to correctly render
this report.
In such cases, when you create reports, you may add data files (CSV, Excel, JSON, XML,
DBF) to the report resources.
After the data file is added to the report as a resource and based on it, you can create a
data source:
Select the New Data Source... in the New Item menu or in the Data Dictionary
context menu, define the appropriate source type by specifying the path to the resource
or simply by selecting it from the resource gallery.
Select the resource in the data dictionary and select New Data Source [Resource
Name] from the context menu.
© 2003-2019 Stimulsoft
Data 1093
After clicking Ok, the generated data source can be used to create reports.
Images in reports can be obtained from various resources - uploaded directly, from a
file, from a data source, by a hyperlink, etc. When you send a report to another person
or move the report (or images) to another medium, you will have to send (along with
the report) images, editing the path to these images. Except the cases when the image is
uploaded directly to the Image component. However, each time you load an image into
the Image component, the size of the report file is increased by the size of the image
file.
© 2003-2019 Stimulsoft
1094 Stimulsoft Reports and Dashboards User Manual
for various report pages, it is better upload this image into a resource. Then, in the
Image or Watermark component, you need to specify a link to this resource. Also the
added image in the resources will be displayed in the image gallery of the Image or
Watermark component. If the image is uploaded to the resource, the size of the report
file will grow only by the size of the image file, and when sending to another person (or
when the report is moved to another media), no additional editing of the Image
components is required.
After adding an image to the Resource, it can be used as a watermark of the report or
in the Image component.
© 2003-2019 Stimulsoft
Data 1095
The Sub-report component is used to display another report on the same report page
within this component. This other report is the report which is nested one can be
located on another page in this report template or in another report template file. Using
the Sub-report component, you can also display the rendered report.
If the report you want to display in the Sub-report component is another file (*.mrt,
*.mrz, *.mdc, *.mdz), you can add it to the report resources. After adding to the
resources, you can:
Drag the resource to the report page. In this case, the Sub-report component with a
link to this resource will be created.
Add the Sub-report component to the report template. When editing this component,
you should specify a link to the resource.
Also, you can pass a parameter in the Sub-report component editor. For example, to
filter data in a nested report. However, this is only relevant for the not rendered report
© 2003-2019 Stimulsoft
1096 Stimulsoft Reports and Dashboards User Manual
(*.mrt, *.mrz).
Sometimes you need to use Rich text in your reports. There is a special component to
display this text in the report designer – Rich Text. You can add the Rich text to the
report with next ways:
Enter text in the Rich Text editor. In this case, you will have to edit the text formatting.
Specify a file or hyperlink from where the text will be obtained. In this case, when you
move a report or file, you may have to edit the path to the source text.
Therefore, one of the options is to add a Rich text file to the report resources. In order to
output the Rich text from resources:
You need to drag the resource to the report template;
In the Rich Text editor, you need to specify a link to the resource or simply select a
resource from the gallery.
© 2003-2019 Stimulsoft
Data 1097
Also, if necessary, the text obtained from the resources can be edited in the Rich Text
editor.
6 Report Designer
6.1 Ribbon UI
Ribbon interface 2013, based on the tabs (similar to Microsoft Office 2013). The tabs
are grouped instruments, thereby reducing the number of toolbars. Consider this type
© 2003-2019 Stimulsoft
1098 Stimulsoft Reports and Dashboards User Manual
The basic Ribbon 2013 interface is a Ribbon 2013 panel. The picture below shows
how it looks like:
The main element of the Ribbon panel is the Application Button and the menu that is
called by pressing this button. This is a main menu of the report designer. Basic
commands for work with reports in the report designer are represented in the menu.
The picture below shows a menu of the application and its items.
© 2003-2019 Stimulsoft
Report Designer 1099
© 2003-2019 Stimulsoft
1100 Stimulsoft Reports and Dashboards User Manual
6.1.1.1 Import
YouTube
Watch our video tutorials on using Importing Tool. Subscribe to the Stimulsoft
channel and be the first who watches new video tutorials. Leave your questions and
suggestions in the comments to the video.
Stimulsoft Reports provides the ability to import reports from other reporting tools.
Import of the report can be done in the report designer or with the help of the import
utility. To import reports in the report designer, you should go to the File menu ->
Open -> Import and specify the reporting tool you to import reports from:
© 2003-2019 Stimulsoft
Report Designer 1101
Report imports, with the exception of the import from Crystal Reports and XtraReports
(DevExpress), are built-in. In this case, the report can be opened directly from the
designer. Reports from Crystal Reports and XtraReports (DevExpress) should be
converted using the import utility, and then opened in the Stimulsoft Reports designer.
Information
© 2003-2019 Stimulsoft
1102 Stimulsoft Reports and Dashboards User Manual
In some report designers, you may not find the Import option by clicking the Open
button. In this case, you can import reports using the import utility, and then use these
reports in Stimulsoft Reports.
With the help of import utilities, you can convert reports from other reporting tools.
Every file type has its own import utility. To run the import utility, follow the steps
below:
Step 2: Download the archive with the import proj ects and unpack it.
Step 3: Use the development environment, such as Visual Studio, to compile the
proj ect.
© 2003-2019 Stimulsoft
Report Designer 1103
Step 4: Select the reports that you want to convert to Stimulsoft reports and specify the
location where the converted report should be saved.
Step 5: Click the Convert button. The result of the conversion will be displayed to the
user.
The utility converts the Crystal Reports templates (.rpt-files) to the Stimulsoft Reports
report templates format (.mrt-files). The tool is supplied as the C# source code only and
requires referencing of some Crystal Reports runtime libraries in order to be built
successfully in Visual Studio 2010, .NET Framework 4.0 or higher. Please download the
archive from the link below, unzip it and open in the Visual Studio. The proj ect will be
built successfully, once all the required dll libraries are referenced and found in Visual
Studio.
© 2003-2019 Stimulsoft
1104 Stimulsoft Reports and Dashboards User Manual
The proj ect was created in a way that all the required assemblies would be
automatically taken from the GAC (Global Assembly Cache). If * .dll libraries of
Stimulsoft Reports are not in the GAC, they will be added to the proj ect from NuGet
automatically. If you do not have an Internet connection, you should manually add
Stimulsoft.Base.dll and Stimulsoft.Report.dll to the proj ect.
The Crystal Reports report templates’ file format is a proprietary format. Therefore, the
tool requires some Crystal Reports special managed assemblies. The tool interacts with
these assemblies via some special Crystal Reports interfaces for the special Visual
Studio managed dlls.
These assemblies are not always installed in the system together with Crystal Reports,
usually the additional and an official installation of these assemblies is required in order
for them to work correctly with the import tool.
For example, for Crystal Reports 2013 the Support Pack (developer version for VS:
Updates & Runtime) is required and needs to be installed first, and only after that the
import tool will be built successfully.
The current Crystal Reports version requires the additional installation of the ‘SAP
Crystal Reports runtime engine’ (32 bit or 64 bit). The automatic installer will copy the
required assemblies to the GAC. But this installer must be downloaded separately, it is
not a part of the standard Crystal Reports installation package.
These assemblies are not included with the tool. The packages will not work if they are
j ust referenced and copied to the proj ect without the proper installation by the Crystal
Reports’ official installer first.
Please find the explanation of the required installations:
© 2003-2019 Stimulsoft
Report Designer 1105
requirements
‘SAP Crystal Reports
Windows x32 Any CPU
runtime engine 32 bit'.
‘SAP Crystal Reports
Windows x64 Any CPU
runtime engine 64 bit'.
Windows x64 + runtime
X86 not required
engine x32bit
Windows x64 + runtime ‘SAP Crystal Reports
Any CPU
engine x32bit runtime engine 64 bit'.
The above mentioned installers can be downloaded using the following links:
http://www.crystalreports.com/crvs/confirm/
http://downloads.businessobj ects.com/akdlm/cr4vs2010/
CRforVS_redist_install_32bit_13_0_20.zip
http://downloads.businessobj ects.com/akdlm/cr4vs2010/
CRforVS_redist_install_64bit_13_0_20.zip
Please read more about the requirements of those additional installations in the official
reply from the Crystal Reports:
https://archive.sap.com/discussions/thread/3675145
Use primitives instead of shapes for the Line and the Box
If the flag is not enabled then the Line and the Box components will be converted to
ordinary primitives (shapes, VerticalLine/HorizontalLine, and Rectangle/
RoundedRectangle). If the flag is enabled then the Line and the Box components will be
converted to special primitives (VerticalLinePrimitive/HorizontalLinePrimitive and
RectanglePrimitive/RoundedRectanglePrimitive). When viewing/printing reports, there
are no big differences between graphic and special primitives. Graphic primitives are
exported as images when exporting. So it is easier to work with special primitives. But,
due to Crystal Reports peculiarity, special primitives cannot work correctly on complex
© 2003-2019 Stimulsoft
1106 Stimulsoft Reports and Dashboards User Manual
One of the main problems in conversion is that not all obj ect properties are available
when working with managed dll. The second problem is the different reporting tools
structures, such as data structures, work with bands etc. Therefore, it is not always
possible to convert a report automatically, and it is required to correct a report
manually.
DataBase:
Crystal Reports often uses their internal libraries when working with data bases. It is
possible to get only some properties from .NET and it is impossible to get
ConnectionString. So, not all data bases can be identified. By default, for not identified
data bases, the StiOleDbDatabase type and ConnectionString template without
specifying the provider is used.
Data Bases:
In CrystalReports, each report/sub-report has its own data dictionary, and the data base
will be described differently in subreports. In Stimulsoft Reports, the common data
dictionary is used. So, all dictionaries are united after conversion. If the data base is
repeated then it is not included into the common dictionary.
Image:
Sizes and locations can be indicated for images but, if it is saved in the report template,
then it is impossible to get the content of an image.
FormulaField:
Expressions and formulas can be placed in these fields. On the current moment, parsing
and syntax of these expressions are written “as is”. So in many cases further manual
correction is required.
© 2003-2019 Stimulsoft
Report Designer 1107
Information
Report SharpShooter v2.0 + applies different internal file format of the report
template than the older versions. The importing utility is made for the new format.
Older report templates are converted partially. It is better to re-save old reports in the
new format and then import them.
The command New contains a submenu, which displays the methods and options for creating reports.
The picture below shows the submenu of the command New:
© 2003-2019 Stimulsoft
1108 Stimulsoft Reports and Dashboards User Manual
If to select the Options item in the submenu of the Report group, then the Report Setup
window is invoked that allows you to identify the basic information and report
parameters. The picture below shows the Report Setup dialog:
© 2003-2019 Stimulsoft
Report Designer 1109
As can be seen from the picture above, the editor of the report parameters contains two
tabs: Main and Description. The Main tab is represented by three groups, which define the
most important parameters of the report:
In this group, basic parameters that affect the designing of the report are defined.
This group defines a scripting language of a report. You may switch between C# and
VB.NET.
In this group you may select units of the report.
The Description tab defines information of report parameters. The picture below shows
the Description tab:
© 2003-2019 Stimulsoft
1110 Stimulsoft Reports and Dashboards User Manual
As can be seen from the picture above, the Description tab is represented by three
groups:
A group of names. In this group the Name) and Alias of a report are specified, as well
as the Author's name of the report.
A group of the report description. In this group the report description is defined.
This group is not available for editing and displays temporary information: when the
report was created (Report Created) and the date of last modification of the report Report
Changed.
If to select the Options item in the submenu of the Designer group, then the Options
window is invoked where you can do basic settings and information settings of a
report. The picture below the Options dialog box:
© 2003-2019 Stimulsoft
Report Designer 1111
As can be seen from the picture above, the Options dialog box contains five tabs: Main,
Grid, Quick Info, Auto Save, Gui. The Main tab is represented by one , which has the basic
options of a designer such as:
The Show Headers option enables/disables displaying headers of components of the
report.
The Show Rulers option enables/disables displaying rulers.
The Show Order option enables/disables displaying the order number of the report
component.
The Edit After Insert option enables/disables invoking the editor after creating a
component in the report.
The Use Last Format option enables/disables using the latest format of a component.
The Auto Save Report to C # or VB.NET File option enables/disables auto-saving of a
report as a source file. This source file will be saved together with a report in the .mrt
file.
The Show Dimension Lines option enables/disables the dimension lines.
The Generate Localized Name option enables/disables the mode of creating a
component with localized names. If this option is disabled, then the components are
created with names in English. If included, then the component name will be localized
according to the selected language.
© 2003-2019 Stimulsoft
1112 Stimulsoft Reports and Dashboards User Manual
As can be seen from the picture above, this tab consists by three groups:
The Grid Options group includes such parameters as: Align to Grid snaps a report
component to grid; Show Grid enables/disables the grid.
The Grid drawing options group. The grid style can be applied in this group: Lines or
Dots;
The Grid size group. This group sets the grid spacing in different units: Inches,
Hundredths of Inch, Centimeters, Millimeters, Pixels.
Parameters of quick info messages are defined in the Quick Info tab.
© 2003-2019 Stimulsoft
Report Designer 1113
As can be seen from the picture above, this tab contains a single group , which
defines the following parameters:
The Options of Quick Info option specifies what information you want to display.
The Display Over Components option enables/disables the mode of displaying the
quick info in the foreground, i.e. over all components.
The Auto Save tab contains the parameters responsible for the report auto-saving.
This tab contains a single group , which contains the following options:
The Save Report Every option determines the time interval after which an auto-save
event occurs.
The Enable Auto Save Mode option enables/disables the auto-save mode of the report.
This tab contains a single group and one Color Scheme parameter, which is required
to change the type of interface and/or color theme.
The Recent Documents group contains a list of recently loaded documents in the
designer. The picture below shows the submenu of the Recent Documents group.
© 2003-2019 Stimulsoft
1114 Stimulsoft Reports and Dashboards User Manual
6.1.1.6 Share
Save a report template or a rendered report, by forwarding these files to other users.
However, in this case, Stimulsoft Reports installed will be required to view the reports.
In addition, each time you change the report or retrieve new data, you will have to
forward these files.
Export the rendered report to a format like PDF, Excel, HTML, etc. In this case,
Stimulsoft Reports installed will not be required, but you will have to generate new
documents every time you change the report and forward these files to other users.
Set up remote access to the report and send the link to users. In this case, Stimulsoft
Reports installed will not be required, and you will not have to generate documents
every time the report is modified. It will be enough to refresh the page in the browser.
How it works
The report from the report designer is saved in Stimulsoft Cloud;
A link to the report is forwarded to the user. You can also embed the report access
code in your HTML page or get a QR code with an access link.
The user opens the link in the browser, browses the report or downloads it in a
format like PDF, Excel, HTML, etc.
The remote access can be set up form the Share dialog, which can be called by
selecting the Share command from the File menu.
Information
© 2003-2019 Stimulsoft
Report Designer 1115
If the report template was opened not from Stimulsoft Cloud (when you select the
Share command from the File menu), the report must be saved to the account of a
user.
If you are not logged in, after selecting the Share command from the File menu, the
login form will be displayed. If you do not have an account, click the account
registration command.
No Access sets the ability to view only from the report designer or the cloud service,
the report cannot be viewed by the link.
Public Access allows you the remote viewing of the report the link for any user. Also
this mode is used when embedding a report to the HTML page.
This parameter sets the time and date after which access will be denied. If this option
© 2003-2019 Stimulsoft
1116 Stimulsoft Reports and Dashboards User Manual
Step 4: If the report was not opened from Stimulsoft Cloud, specify the storage location
in the workspace of your account and click the Save button in the Save As... dialog;
Step 6: Enable the End date parameter, and specify the time which is the date when
the public access to the report is terminated;
Step 7: Select the type of file in which the report will be submitted. Please note that
viewing a report without downloading is possible only if the Document file type is
selected. If you select a different type, for example PDF, then when you click on the link,
you will download the PDF file for local viewing.
© 2003-2019 Stimulsoft
Report Designer 1117
When clicking on the link, the web browser will run. The report will be displayed in the
web browser or if a different result type is selected, the report will be downloaded
using the browser.
Information
The report can be viewed by the link only if the Result Type is set as the Document file.
In other cases, the report will be downloaded using the web browser.
However, when viewing the report, you can always download it in the required format
without changing the access settings and without sending a new link. Add /Result
Type to the link.
For example, if the link for viewing the report is https://stimulsoft.com/s/55af6 , and
this report should be downloaded as a PDF document, then, in the address bar, add /
pdf. So the link will look like https://stimulsoft.com/s/55af6/pdf.
6.1.2 Tabs
A tab is a part of the interface on the toolbar. The report designer has three tabs: Home,
Page, Layout, Insert. Consider these tabs and the main instruments located on them in
detail.
This is a basic tab of the report designer. Main commands for customizing report
components are placed on this tab.
© 2003-2019 Stimulsoft
1118 Stimulsoft Reports and Dashboards User Manual
This group allows working with the Clipboard of the report designer.
This group is used to output text with the specified font type, color etc.
Select the font type of the text components on the current page.
Select font size of the text components on the current page.
Sets the font style as Bold, Italic, Underlined.
Set the font color of the text components on the current page.
Changes (increases/decreases) the font size.
Delete the content of all selected text components.
© 2003-2019 Stimulsoft
Report Designer 1119
This group is used to control styles and conditions which are used to automatically
design components in a report.
© 2003-2019 Stimulsoft
1120 Stimulsoft Reports and Dashboards User Manual
The group is used to align the content of components horizontally and vertically. Also it
is possible to set the angle of the text rotation and control the WordWrap property.
This group contains elements to control basic parameters of a page. These are page
margins, orientation, page size, columns.
© 2003-2019 Stimulsoft
Report Designer 1121
Changes can be applied to the currently selected page in the report designer.
Watermark text
Set a rotation angle of the watermark text
Select a font type to output a text of the watermark
Watermark text color.
Enabling/disabling watermark.
Set the direction of the watermark output.
Show the watermark behind the text
© 2003-2019 Stimulsoft
1122 Stimulsoft Reports and Dashboards User Manual
This group contains settings for different parameters of showing a report and working
with the report designer.
© 2003-2019 Stimulsoft
Report Designer 1123
Notice. This group is not always present on the tab Page. In the WinRT report
designer and Mobile, the group is missing.
This tab is used to control placing different components on a page and also to specify
styles of docking components.
© 2003-2019 Stimulsoft
1124 Stimulsoft Reports and Dashboards User Manual
The description of the Align button, specified with number 2 on the picture above.
The description of the Size button, specified with number 7 on the topmost picture.
© 2003-2019 Stimulsoft
Report Designer 1125
Make the same size of components as the size of the first selected component.
Make the same width of components as the size of the first selected component.
Make the same height of components as the size of the first selected component.
This group contains elements to set the dock style of selected components.
The tab Insert contains the main components for creating reports. This tab is present in
the designer WinRT and Mobile, and is analogous to the Toolbox in other designers.
© 2003-2019 Stimulsoft
1126 Stimulsoft Reports and Dashboards User Manual
The status bar is placed under the designer window. The picture below shows a status
bar of the Standard UI.
Units. This field shows current units in a report. It is possible to change them
Report Checker checks the report on issues
The field shows a name of the currently selected component
Shows cursor coordinates on a page of a report template. (Х:0,0 ; Y:0,0) coordinates
corresponds to the top left corner of a page of a report template
Page Zooming control.
A report in the designer can be created using the tools for creating reports and report
components. Also, you can create a report using Report Wizards: Standard Report,
Master-Detail Report and Label Report.
6.2.1 Overview
When creating a new report in the New Report dialog you should choose a way to create
a report. The picture below shows the Create a New Report dialog:
© 2003-2019 Stimulsoft
Report Designer 1127
As can be seen from the picture above, there are several ways of creating a report: select
a Blank Report, and manually create a report template, or create a report using the report wizards.
The Blank Report icon can be used to create a blank report and the user should put components
manually.
The Standard Report wizard is used to create reports as a list.
The Master-Detail Report wizard is used to create a Master-Detail reports.
The Label Report wizard is used to create Label reports.
The Chart wizard is used to create reports with charts.
The Cross-Tab wizard is used to create Cross-Tab reports.
Any Report Wizard has the following panels: Description Panel, Steps Panel, Selection
Parameters Panel, Control Panel. The picture below shows the Standard Report wizard:
© 2003-2019 Stimulsoft
1128 Stimulsoft Reports and Dashboards User Manual
The Description Panel. This panel shows description of each steps to be done.
The Steps Panel. Shows steps of creating reports using a report wizard.
The Selection Parameters Panel. This panel shows report parameters. On each step of
report creation its own options are available.
The Control Panel. Contains buttons to control the Report Wizard.
When creating a report using the Standard Report wizard, this report will contain one
DataBand or one data Table (depends on what is selected). The picture below shows a
window of the Standard Report wizard:
© 2003-2019 Stimulsoft
Report Designer 1129
Data Source. On this step the data source is defined. This step is obligatory.
Select Columns. On this step columns of a data source are selected. This step is
obligatory.
Columns Order. This step defines position of columns in the DataBand. Data
columns selected in the second stage will be shown as a list on the Selection
Parameters Panel. The top-down order of columns shown in the panel corresponds to
their left-to-right position in a report. It is possible to change the position of data
columns by dragging them or by clicking the buttons on the control panel of this step.
The picture below shows the order of columns on the Selection Parameters Panel:
Sort. On this step, it is possible to specify elements and sorting direction. The picture
below shows a sample of the Selection Parameters Panel of sorting:
© 2003-2019 Stimulsoft
1130 Stimulsoft Reports and Dashboards User Manual
Filters. On this step, it is possible to set the conditions of filtering. The picture below
shows a sample of selection filtering parameters:
Groups. This step defines the condition of grouping. It is necessary to select a data
column by what conditions of grouping will be created.
Totals. On this step, it is possible to select a function for calculating totals by any
data source column. For each data column its own function of aggregation can be set.
Themes. This step defines the report style.
Layout. On this step, the basic report options are set. Among them are: page
Orientation, script Language, a Component that will be used for report rendering
(DataBand or Table), report Units. The picture below shows a sample of the Selection
Parameters Panel layout:
© 2003-2019 Stimulsoft
Report Designer 1131
The New Data Source button is used to create a new data source.
The Master-Detail report can be created using the Master-Detail Report report wizard. The
picture below shows a window of the Master-Detail Report wizard:
© 2003-2019 Stimulsoft
1132 Stimulsoft Reports and Dashboards User Manual
Data Source. On this step the data source is defined. This step is obligatory. For
creating the Master-Detail Report, the report template should have no less than one
Master band and one Detail band.
Select Columns. On this step columns of a data source are selected. This step is
obligatory.
Columns Order. This step defines the order of columns. Data columns selected in the
second stage will be shown as a list on the Selection Parameters Panel. The top-down
order of columns shown in the panel corresponds to their left-to-right position in a
report. It is possible to change the position of data columns by dragging them or by
clicking the buttons on the control panel of this step. The picture below shows the order
of columns on the Selection Parameters Panel:
© 2003-2019 Stimulsoft
Report Designer 1133
Groups. This step defines the condition of grouping. It is necessary to select a data
column by what conditions of grouping will be created.
Relation. defines the relation between Master and Detail bands. The relation is used for
selecting detail data only for the specified Master band row. If a relation will not be
specified then all Details data rows will be output for each row of the Master band.
Selection is done between relations which are created between Master and Detail data
sources, and where a Detail data source is a detail data source. More than one relation
can be. So it is necessary to select the correct relation.
Totals. On this step, it is possible to select a function for calculating totals by any data
source column. For each data column its own function of aggregation can be set.
Themes. This step defines the report style.
Layout. On this step, the basic report options are set. Among them are: page
Orientation, script Language, a Component that will be used for report rendering
(DataBand or Table), report Units.
The Description Panel. Shows description for the current step.
The New Data Source button is used to create a new data source.
The Selection Parameters Panel shows options, actions, settings available on this step.
The Label Report wizard is used to create reports which have labels. The picture below
shows a window of the Label Report wizard:
© 2003-2019 Stimulsoft
1134 Stimulsoft Reports and Dashboards User Manual
A Label Report is created in two steps. The Data Source is defined on the first step, Label
Settings are defined on the second step. The picture below shows the Selection Parameters
Panel on the second step of the Label Settings.
© 2003-2019 Stimulsoft
Report Designer 1135
The Type Panel is used to select the Label Type and units.
The Size Label Panel is used to change the label size.
The Size Pages Panel is used to select the page size or manually set width and height
and margins of a page.
The Configuration Label Panel is used to set a number of rows, columns and direction
of labels.
The Preview Panel is used to preview how labels are placed on a page.
The Chart wizard is used to create reports with charts. The picture below shows a
window of the Chart wizard.
© 2003-2019 Stimulsoft
1136 Stimulsoft Reports and Dashboards User Manual
Legend. On this step legend parameters and charts such as Title, legend Alignment
horizontally and vertically, Direction of rows in legend, Visible and Size of a marker,
Spacing, Visible of the legend.
The Description Panel. Shows description for the current step.
The Cross-Tab wizard is used to create reports with cross-tab. The picture below shows
the window of the Cross-Tab wizard.
© 2003-2019 Stimulsoft
Report Designer 1137
Data Source Panel. In the Data Source field it is necessaryto select the data source. Then
data source columns will be shown on the panel of the data source.
The Swap Rows/Columns button is used to change data between columns, which are
placed on the Rows and Columns panels.
The Rows panel shows data source columns, which are rows of a cross table.
The Columns panels shows data source columns, which are columns of a cross table.
The Summary shows data source columns, which are the key column and row in the
cross table. Key column and row generate summary cell.
The Properties panel shows a table of properties of selected column of the data
source.
The Preview Panel is used to preview the template of a cross table.
The Select Style button is used to select style of the cross table appearance.
6.3 Panels
In this section the basic panels of the designer, such as: Dictionary, Messages, Report Tree,
Properties will be reviewed. These panels contain different properties, functions and
commands to control various components of a report, information fields arranged for
notification and hints for a user. These panels can be shown or hidden. In the Ribbon UI
© 2003-2019 Stimulsoft
1138 Stimulsoft Reports and Dashboards User Manual
showing or hiding panels can be done using the Panels button on the View tab. In the
Standard UI showing or hiding panels can be done in theView tab of the Main Menu.
6.3.1 Dictionary
The Dictionary panel shows the connected data available data sources, system variables
and functions. Besides, a connection and connecting new data sources can be done in
the Dictionary. The picture below shows an example of the Dictionary:
The Dictionary panel includes: Dictionary ToolBar, Data Tree, Description Panel,
Dictionary Setting Panel.
The Dictionary ToolBar is a set of tools and commands to work with the Dictionary.
The picture below shows the Dictionary ToolBar:
The Actions menu is a set of commands to work with vocabulary such as: creating,
© 2003-2019 Stimulsoft
Report Designer 1139
The Data Tree represents a list of all data of a dictionary, which are displayed in a
tree. The picture below shows an example of the Data Tree:
The Description Panel displays a short description of the selected system variable
or function. The picture below shows an example of the Description Panel with the
description of the Line system variable:
© 2003-2019 Stimulsoft
1140 Stimulsoft Reports and Dashboards User Manual
The Dictionary Setting Panel is a panel with three options to optimize the work
with the dictionary and its contents.
The Create Field on Double Click option provides the ability to create a field on
the DataBand. Fields are created on the band, that has selected data source by which
the fields the double-click in the dictionary is done.
The Create Label option attaches the column data header when it is dragged on the
report template.
The Use Aliases option provides an opportunity to show Aliases of components
instead of the Name in the report template.
The Report Tree panel shows the hierarchy of the report, i.e. represents all the
components of the report in the form of a tree. In addition, if an event handler is added
to the component, it will also be displayed in the hierarchy of the report. The picture
below shows an example of the Report Tree panel:
© 2003-2019 Stimulsoft
Report Designer 1141
"nesting", and an event handler is added for the GetValue event of the Text10 component.
The Report Tree panel provides the ability to visually identify the submission of a
"component to a component".
6.3.3 Properties
The Properties panel shows all the properties of the selected component, and also its
events. The picture below shows the Properties panel, displaying the properties of a
component (left) and an event of a component (right):
© 2003-2019 Stimulsoft
1142 Stimulsoft Reports and Dashboards User Manual
The Properties panel includes: Drop-Down List of Components, Properties ToolBar, Properties
or Events Table, Description Panel.
The Drop-Down List of Components displays a list of all the components of a report. The
picture below shows an example of the Drop-Down List of Components:
As can be seen on the picture above, the list is presented in two columns. The first
column displays the Name of a component and the second one shows its type. For
example, the string "Text7: Text", "Text7" is a Name, "Text" this is a type. If to select a
© 2003-2019 Stimulsoft
Report Designer 1143
component in this list then, on the Properties panel, properties and events of the
selected component will be shown.
The Properties ToolBar is designed to control the Properties panel. The picture below
shows the Properties ToolBar:
The Categorized sorting button is used to show a list of properties or events sorted by
category.
The Alphabetical sorting button is used to show a list of properties or events are
sorted alphabetically from A to Z.
The button for enabling the Properties Tab.
The button for enabling the Events Tab.
The button for changing the property panel localization. If it is enabled then the properties panel will
have a default localization.
The Properties Tab or Events are a table with two columns. The first column shows
names of properties or events. The second column shows values of these properties or
events. The number of rows depends on the number of properties or events, because
one property or event takes a single row. The picture below presents a table of
properties (left) and a table of event (right):
© 2003-2019 Stimulsoft
1144 Stimulsoft Reports and Dashboards User Manual
In the context menu of the panel Properties there is a command Localize Property Grid. If this option is
enabled (checked), the translation of the panel Properties will be done. If this command is disabled (not
checked), the names of the properties, events, values and description of the properties will stay in
default English.
The report designer supports many keyboard shortcuts. Using them can speed up the
effectiveness of work in creating reports. Some keyboard shortcuts are available both in
the Ribbon mode and in the Standard mode. Some of them are available only in the
Standard mode (in the Ribbon mode they are duplicated by context commands).
Buttons Description
© 2003-2019 Stimulsoft
Report Designer 1145
F5 Report preview
Ctrl+Enter Call the designer be default for the elected component
Enter Call the text editor for the selected component
© 2003-2019 Stimulsoft
1146 Stimulsoft Reports and Dashboards User Manual
In order to check the report for errors you should use the Report Checker. The Report
Checker will analyze the report, resulting in an error message, comments, or
inaccuracies found in this report. The picture below shows the Report Checker:
© 2003-2019 Stimulsoft
Report Designer 1147
The button Open. Clicking this button, the user will see a dialog box to select a
previously saved report and loading it to the Report Checker.
The button Save saves changes in the report, that was opened in the Report Checker.
The button Check for Issues starts the process of checking the report.
The button Settings opens the window of settings of the Report Checker. The picture
below shows the Settings window:
© 2003-2019 Stimulsoft
1148 Stimulsoft Reports and Dashboards User Manual
In this window, you can mark messages and warnings you want notifications to be
displayed.
The Close button closes the window of the Report Checker.
The panel for showing messages.
The panel for showing descriptions of Errors, Warnings, Information.
© 2003-2019 Stimulsoft
Report Designer 1149
Our report generator provides the ability to localize the report depending on the
selected report culture. The Globalization Strings tool is used for this. You can define
a list of cultures with which the elements of the report will be translated. The items for
which you can configure localization include:
You should know that for each text component, as well as for each cell in the Table and
Cross-tab, you can override several properties of this component. For example, if the
report uses the text component Text1, then:
In the Text1.Hyperlink property, you can specify a hyperlink (or expression) when
you select a specific culture. For example, you can specify a hyperlink (or expression) on
a localized page of your website.
In the Text1.Tag property, you can specify a tag (or expression) for this text
component when you select a specific culture. The tags in the report are used to refer to
a particular report component.
In the Text1.Text property, you can specify the text (or expression) of the text
component that will be processed when the report is rendered and displayed to the
user when a particular culture is selected.
In the Text1.Tooltip property, you can specify the tooltip (or expression) of this text
component when you select a specific culture.
If a property is not filled, then when you select a specific culture, the result will be
empty. For example, if you do not specify anything for a particular culture in the Text1.
Text property, then when you select this culture, the text component will be printed
without any content.
Notice
The report culture does not depend on the localized GUI of the report designer. The
culture of the report depends on the value of the Culture property. The list of values
for this property depends on the list of cultures supported by the operating system. By
© 2003-2019 Stimulsoft
1150 Stimulsoft Reports and Dashboards User Manual
default, the report uses the current culture of the operating system.
To call the Globalization Editor, you should go to the report properties and click in
the report template area.
And on the properties panel, click the Browse button on the Globalization property.
© 2003-2019 Stimulsoft
Report Designer 1151
Click this button to add a new culture. The added cultures will be displayed in the list
of cultures.
Select the culture in the list and click this button to remove the culture from the list.
If the Auto Localize Report on Run option is enabled, then, when rendering
reports, the report engine will check the report culture and whether they are presented
in the list. If identical cultures are found, then expressions of the report items will be
© 2003-2019 Stimulsoft
1152 Stimulsoft Reports and Dashboards User Manual
replaced.
The list of cultures, setting which, the localization of the report items will occur (i.e.
replacing expressions that are specified in a particular culture).
The list of report items, which localization can be configured.
An expression of the item that will be assigned to the selected report item when you
select a specific culture.
In order to automatically localize the report, you should specify the report culture after
specifying the list of cultures and their settings. To do this, select the required value in
the Culture property of the report. Then, when rendering the report, the report engine
will check the report culture and their presence in the list of cultures. If identical cultures
are found, the expressions of the report items will be replaced.
Context Menu is a menu in a graphical user interface that appears upon user interaction
(a right mouse click). A context menu offers a set of choices that are available in the
current state of the component. The picture below shows a context menu of the text
component:
© 2003-2019 Stimulsoft
Report Designer 1153
General commands. These are static commands, which can be applied to any
component of the designer:
The Design... command invokes the editor of a selected component. For example, if it
is a text component then the Text Editor will be called.
The Cut command cuts the selected component to the clipboard.
The Copy command copies the selected component to the clipboard.
The Paste command pastes from the copied or cut component from the clipboard.
© 2003-2019 Stimulsoft
1154 Stimulsoft Reports and Dashboards User Manual
If you select all the components on the page, i.e. choose the Select all command in the
context menu, or press the Ctrl+A key combination, then the prototype of the size for all
components will be the size of the component that is placed on a higher level and
higher than other components in the report tree in that level. It is possible to see the
report tree on the Report Tree panel. The picture below shows an example of a report
tree.
As seen on the picture above, the PageHeaderBand is located higher, so, in this case, its
size is a sample of sizes for the remaining components. If the PageHeaderBand is absent,
then, as a sample of sizes, the PageFooterBand will be taken. If the PageFooterBand is
© 2003-2019 Stimulsoft
Report Designer 1155
The Select All command selects all components on the current page.
The Order command invokes the submenu, in what it is possible to define the position
of the selected component. The picture below shows the Order submenu:
The Align command invokes the submenu, in what it is possible to select the Align to
Grid command. The picture below shows the Align submenu:
Report Designer allows previewing a report before printing, exporting, sending via
Email or any other action, in order to identify possible errors. Clicking the Preview or
HTML Preview tabs it is possible to preview a report. You can also preview the report
in the separate window by using the F5 shortcut key or selecting Preview from the
main menu.
© 2003-2019 Stimulsoft
1156 Stimulsoft Reports and Dashboards User Manual
Notice. In the report designers for WinRT and Mobile, switching to the preview
windows can be done by selecting the tab Preview.
6.9 Toolbox
The ToolBox panel contains the main tools for creating reports. All items on this panel
are divided into the following categories: Select Edit Mode Category, Components Category,
Shortcut Category, Shortcut Category Settings. The picture below shows the ToolBox:
© 2003-2019 Stimulsoft
Report Designer 1157
The Toolbox is located on the left side in the designer window and looks like a vertical
panel. If necessary, the Toolbox bar can be shown or hidden. In Ribbon UI hiding or
showing the Toolbox can be done by pressing the Toolbox button, which is located in
the View tab. If the button is pressed, the Toolbox is shown. In Standard UI hiding or
showing the Toolbox can be done by right-clicking and calling the context menu of the
Toolbox or the Main Menu.
Notice. The Toolbox is not always displayed on the left side. In some report designers, such as
WinRT and Mobile, the development tools are located on the tab Insert.
The shortcut category is one of the basic panels of the Toolbox and is designed for quick
selection of the component when creating a report template. There are some ways to
add components on a page:
Drag and Drop. To do this, put the cursor on the component, left-click and drag the
component on the page of a report template.
Select the required component, and then draw it on a report page.
To draw several components of one type, hold down the Shift key, select the
components from the shortcut category. Once the component is selected, the Shift key
can be released. Now you can draw components unlimited number of times. The
picture below shows an example of the shortcut category:
© 2003-2019 Stimulsoft
1158 Stimulsoft Reports and Dashboards User Manual
This button invokes the Setup Toolbox window, which is necessary to check the elements
that will appear on the toolbox panel in the shortcut category. The picture shows an
example of the Setup Toolbox window:
© 2003-2019 Stimulsoft
Report Designer 1159
Components which are marked with the "check" in the Setup Toolbox window will
appear on tools in the shortcut category. Accordingly, the components that are not
marked will not be displayed.
When you drag components from the dictionary, toolbar, or any other container into
bands of a report template, and margins of a component are beyond the margins of a
band, then the Components Placement Wizard will be invoked. With this wizard you can
define the parameters of the location of the component in the band. The picture below
shows the structure of the Components Placement Wizard:
© 2003-2019 Stimulsoft
1160 Stimulsoft Reports and Dashboards User Manual
Move a component to the right side of a free space, stretching the component by the height of the
free space.
Move a component to the left side of a free space, stretching the component by the height of the
free space.
Close the Components Placement Wizard.
When dragging a text component with an expression from the Dictionary and
overlapping on another text component, the Drag and Drop Wizard will be invoked. Using
this wizard it is possible to choose the way of merging the contents of the components.
The picture below show how the Drag and Drop Wizard looks like:
Substitute an expression in the text component which is placed in the report template, for an
expression of the text component which is being dragged;
Place an expression from the dragged component before an expression of the text component
which is placed in the report template;
Place an expression from the dragged component after an expression of the text component which
is placed in the report template;
Place an expression from the dragged component one row below an expression of the text
component which is placed in the report template;
Close the wizard.
The report contains a variety of data. Some of them are always presented in the same
form, such as text, and appearance of other entries, for example a date and time,
depend on the regional settings. By default, regional settings in the report correspond
to the regional settings of the current culture in the operating system. If you want the
data in the report be displayed the same way regardless the current culture in the
operating system, you should apply a certain culture to this report. In order to apply the
culture to the report, the report has the Culture property. In the field of the property,
you should specify the code of the culture (the code format looks xx-XX, for example
© 2003-2019 Stimulsoft
Report Designer 1161
en-GB). After that, the report generator will set the specified culture for the application
and appearance of rendered components will fit this culture. Below is an example of the
same report with different cultures.
Note that the first column contains a text that does not depend on the report culture.
The second is currency and the third is date-time columns. They depend on the culture.
Therefore, when the culture is changed the data entry is changed too.
If necessary, the components be independent from the specified culture, i.e. displayed
the same way regardless an applied report culture, this component should have specific
parameters, i.e. to apply the formatting of the text component. For example, it is
necessary to have the prices on goods be displayed always in the same format. Below is
a report with different cultures.
© 2003-2019 Stimulsoft
1162 Stimulsoft Reports and Dashboards User Manual
As can be seen from the picture above, the price in this report depends on the culture
applied to the report, which is not quite true. In order the price has always been fixed,
set the currency USD for the column UnitPrice 2. Now, regardless of the culture report,
the price in this column will always be the same.
As seen from the picture above, when applying the culture Russian (ru-RU), the
currency of the second column is not changed while the first depends on the used
culture.
Notice: If the selected report culture is not supported by the operating system, the
© 2003-2019 Stimulsoft
Report Designer 1163
6.13 Publish
YouTube
Watch our videos to learn how to publish reports. Subscribe to the Stimulsoft channel
and be the first who watches new video tutorials. Leave your questions and
suggestions in the comments to the video.
Publishing reports means saving them as separate proj ects or files to simplify and
speed up the process of embedding these reports into an application on different
platforms. The report is published using a wizard that can be called by clicking the
Publish button on the Ribbon panel of the designer, or by selecting this command
from the File menu:
© 2003-2019 Stimulsoft
1164 Stimulsoft Reports and Dashboards User Manual
After calling the wizard, you need to specify the platform for which the report will be
published.
Information
© 2003-2019 Stimulsoft
Report Designer 1165
Publishing Settings
© 2003-2019 Stimulsoft
1166 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Report Designer 1167
The option for selecting a framework type. You can select a JavaScript application
without using a framework, or select the Node.j s framework.
The option to load a report from:
File;
String;
Hyperlink.
Information
Information
If there are data sources and parameters (variables) in the report, then when you
select any action, you should specify the data connection parameters:
Use Connection from Report. If the connection is present in the report, then it
will be used when the proj ect is run.
Replace Connection String. Provides the ability to specify a new connection
string to the data storage.
If the report uses file data sources (XML or JSON), then, instead of the
© 2003-2019 Stimulsoft
1168 Stimulsoft Reports and Dashboards User Manual
Replace Connection String option, the Replace Path to Data parameter will
be present. Using it you can specify a new path to the data files.
Register Data from Code. Select this option if you want to use data from XML,
JSON sources or from Business obj ects. If you select this item, you can also enable
the following options:
Synchronize Report Dictionary. Use this option to synchronize the
registered data in the data storage and in the data dictionary of the report.
Use Only for Report Preview. Select this option to use the data only for
preview.
In addition, the data dictionary can contain variables. When you select the Show or
Export action, you can define a value for each variable:
Use Value from Report. The value of the variable will remain as the default.
Replace Value from Code.
Request from User. Use the value entered by the user.
Options that depend on the selected action. In this case, the Show action is selected,
so the Display the Viewer in Full Browser Window option is available.
Include License Key. If this option is not enabled, the report will be displayed with
the Trial watermark. If you enable this option, you can connect the license key in one of
the following ways:
String;
File.
Include Localization. This option is relevant only for the Show and Design actions.
When this option is enabled, select the interface of the viewer localization if the Show
action is selected, or the designer, if the Design action is selected.
Include UI Theme. This option is relevant only for the Show and Design actions.
When this option is enabled, you can specify the theme of the layout of the viewer
interface, if the Show action is selected, or the designer, if the Design action is selected.
Use Compressed Scripts. If you enable this option on, the size of the scripts will
significantly decrease but when you run the application it will take time to unpack them.
The Hide Options button is used to expand and collapse the options bar in the
publish wizard.
The Save Project Package button. When you click this button, a dialog box will be
displayed to specify the location of the proj ect or standalone application. Note, when
© 2003-2019 Stimulsoft
Report Designer 1169
Information
On some platforms, the Get Stimulsoft Libraries from NuGet option may be
present. In this case, when the proj ect is run, if there are no Stimulsoft libraries in it,
they will be automatically loaded from the NuGet repository.
For the Java platform you can find the Get Stimulsoft Libraries from Maven option.
Step 4: Call the Publish wizard by clicking the Publish button on the Ribbon panel or
by clicking Publish from the File menu.
Step 5: Select the platform for which the report will be published. The following
platforms are available ASP.NET, ASP.NET MVC, .NET Core, WinForms, WPF, JavaScript,
PHP, Java.
Step 7: Click the Save Project Package button and specify the location where the
proj ect should be saved.
Step 8: Unpack the archive, if the package is saved as a proj ect. Open the .sln file with
Visual Studio or another development environment.
© 2003-2019 Stimulsoft
1170 Stimulsoft Reports and Dashboards User Manual
7 Viewing Reports
On the picture below you may find the basic elements of the report viewer.
In this panel contains menus which have the basic control commands of the report
© 2003-2019 Stimulsoft
Viewing Reports 1171
viewer.
The basic commands to control the report are represented on the toolbar.
The tree of bookmarks of the output report. Using these bookmarks it is possible to
j ump by structure elements of a report.
The area where the report is shown.
The report thumbnails panel. Decreased copies of report pages are shown on this
panel. The panel is used to quickly navigate throughout a report.
Find Panel.
The toolbar to scroll up or down in reports pages.
The toolbar to select the mode of report showing.
The toolbar to zoom reports.
The main toolbar locates commands to control the report. Below is the structure of the toolbar with the
description of each command:
Print a report. After activation of this command the printing dialog with parameters of printing will
be displayed.
Open previously saved report. Any rendered report can be saved to .mdc or .mdz format for further
preview.
Save the rendered report to other file formats.
Send the render report via Email. The report will be converted to one of the file formats.
Show/hide the tree of bookmarks. If there are no bookmarks in the rendered report then the viewer
will automatically hide the tree of bookmarks. If there are bookmarks in a report, then the viewer will
automatically show the tree of bookmarks.
Opens the dialog for changing basic parameters of the rendered report.
Show/hide the reports thumbnails.
Enable the search panel.
Open the report designer and show the current page for editing.
Run the full screen mode of report showing.
Change zoom of the report to display only one full page. More than one page by the width can be
output.
Change zoom of the report to fit the page width to the screen width.
Closes report viewer.
On the picture below you can see the toolbar that is used for report navigation.
© 2003-2019 Stimulsoft
1172 Stimulsoft Reports and Dashboards User Manual
Three buttons are used to control the page view mode. They are placed at the bottom of
the viewer in the right corner.
© 2003-2019 Stimulsoft
Viewing Reports 1173
Continuous. In this mode all pages are placed into one vertical line. The picture below
shows how this mode works.
© 2003-2019 Stimulsoft
1174 Stimulsoft Reports and Dashboards User Manual
Multiple Pages. In this mode as many pages in the selected zoom as they can fill the
window of the viewer are shown. The picture below shows how this mode works.
© 2003-2019 Stimulsoft
Viewing Reports 1175
The search panel is used to search some text in the report. On the main toolbar this
option can be enabled by clicking the binocular icon. All controls for search are placed
on a single panel.
© 2003-2019 Stimulsoft
1176 Stimulsoft Reports and Dashboards User Manual
Shortcut Actions
Ctrl+F Search
Ctrl+E Edit components which support editing
F2 Run the full screen mode of view a report
F3 Set zoom of a report view - one page
F4 Set zoom of a report view - two pages
F5 Set zoom of a report view - by page width
Ctrl+G Jump to page
Shift+F2 Enable the page view mode - one page
Shift+F3 Enable the page view mode - continues
Shift+F4 Enable the page view mode - some pages
© 2003-2019 Stimulsoft
Viewing Reports 1177
Any rendered report can be sent via Email. Send a report via Email following the
instruction below.
The report is exported as a file. The file format is defined by the user in the menu
Send Email;
Then create a new message and attach a file to the Email;
A dialog of the Email client is open by default, i.e. the wizard for sending Emails is
invoked.
The picture below shows the menu Send Email.
The Dot-Matrix viewer is designed to preview the report before printing it on dot matrix
printer. The Dot matrix printer is used to print only the text and characters of
© 2003-2019 Stimulsoft
1178 Stimulsoft Reports and Dashboards User Manual
pseudographics. Accordingly the viewer displays only the text and borders of obj ects as
pseudographics characters.
7.8.1 Toolbar
Prints the report. After activation of this command the Print dialog will be displayed,
where you will be asked to select printing options.
Opens a previously saved text file.
Saves the rendered report to a text file.
Closes the Dot-matrix viewer dialog box.
The Options bar is grouped and each group is located on a separate tab. The picture
below shows the options bar:
© 2003-2019 Stimulsoft
Viewing Reports 1179
The Kill Space Lines option removes empty rows in the text.
The Kill Space Graph Lines option deletes the rows that contain only the "vertical
line" pseudographics characters.
The Put Feed Page Code option inserts the FormFeed symbol on the bottom of
each page.
The Draw Border option draws the borders of the obj ects of the selected type.
The Cut Long Lines option cuts long lines of the text that is out of bounds of the
text component.
- options are the parameters of the border and define its type:
Simple border is drawn with + - | symbols and will be saved and printed in any
encoding;
Unicode-Single single lines of pseudographics are used;
© 2003-2019 Stimulsoft
1180 Stimulsoft Reports and Dashboards User Manual
- options. When exporting to text all the coordinates and sizes of obj ects are
recalculated. Zoom X and Zoom Y coefficients control this conversion.
By default, Zoom X = 100%, Zoom Y = 100%. With these values of the parameter, the
A4 page is converted to text with sizes of 80 characters by width and 62 rows by height.
This corresponds to using the Pica font of the printer (80 characters per line) and the
line spacing 1,0. The following values are frequently used:
Zoom X = 100% corresponds to using the Pica font of the printer (80 characters per
line);
Zoom X = 120% corresponds to using the Elite font of the printer (96 characters per
line);
Zoom X = 170% corresponds to using the condensed font of the printer (136
characters per line);
Zoom Y = 100% corresponds to the using the line spacing 1,0.
© 2003-2019 Stimulsoft
Viewing Reports 1181
When report rendering, it is better use the grid. It allows placing objects by the grid and getting correct
viewing a report in the browser.
The Vertical Line, Horizontal Line, Rectangle components are not graphic objects.
Also it is important to consider that vector images (WMF, EMF, EMF+) are not supported by the HTML
format. So they will be converted to images in the pixel format.
Notice! All text components which contain text are rotated (the value of the Angle property is not 0)
and converted to images. Besides, if the ExportAsImage property is set to true then the text
components will also be converted to the image.
All components are joined with one rule - all of them will be converted as images. The HTML format
does not allow passing an image in its body and the report generator uses the cache of a page or the
cache of a session for saving images. When huge amount of calling to a report and multiple images in
a report, there can be huge amount of objects in the page cache or in the session cache. And these
objects will take additional server memory. Therefore, it is better do not use many graphic objects.
Using the ServerTimeOut property can be used to set the time of objects caching in the page cache or
in the session cache.
Notice! HTML supports some formats of showing images (JPEG, PNG, BMP, and GIF). It is possible to
set the image type using the ImageFormat property of the StiWebViewer component. Every type of an
image has its own advantages and disadvantages.
Printing Reports
It is difficult to print a report from the browser. Stimulsoft Reports has three methods of printing:
Converting a report to the PDF file and passing it to the end-user for printing.
Printing a report with preview in the pop-up window.
© 2003-2019 Stimulsoft
1182 Stimulsoft Reports and Dashboards User Manual
The first method is the best way. It allows printing a report more precisely. But it is required to have
installed Adobe Acrobat to print a report to the PDF format. Often this requirement is a big
disadvantage. When printing reports with preview the report generator creates a new pop-up window.
A report in the HTML format is output in this window. The end-user may format this report and print it.
In printing report without preview the report generator prints a report without preview. When choosing
the method of printing characteristics of each method should be considered.
Notice! The StiWebViewer component cannot control page parameters (page size, page orientation,
page margins) when printing using the 2 and 3 method. All parameters are controlled with the browser.
8 Right To Left
By default, components are output from left to right. The Right to Left property allows
changing the mode of showing report items.
How the text will be output depends on the RightToLeft property. If it is set to false,
then a text (all symbols except letters) is output from left to right. The picture below
shows a text sample in Arabic that is output from left to right:
If the RightToLeft property is set to true, then a text is output from right to left. The
picture below shows a text sample in Arabic that is output from right to left:
In any case a text written in a right-to-left language will be output right to left.
A text in cells is placed symbol-by-symbol (one symbol or a space - one cell). How the
text will be output depends on the RightToLeft property. If it is set to false, then a text
© 2003-2019 Stimulsoft
Right To Left 1183
is output from left to right. The picture below shows a text sample in Arabic that is
output from left to right:
If the RightToLeft property is set to true, then a text is output from left to right. The
picture below shows a text sample in Arabic that is output from right to left:
The RightToLeft property of the Text in Cells component works the same way with all
languages. So a text characters and sy6mbols will be output from left to right or from
right to right depending on the value of this property. The picture below shows a text
output in "left to right" (the first picture) and right to left (second picture) modes:
The cross table component has the RightToLeft property, that allows showing a cross-
table in the right-to-left mode. If the RightToLeft property is set to false, then the
© 2003-2019 Stimulsoft
1184 Stimulsoft Reports and Dashboards User Manual
cross table is rendered in the "left-to-right" mode. The picture below shows a cross
table sample with the RightToLeft property set to false:
If the RightToLeft property of a cross table is set to true, then the cross table is output
in the "right-to-left" mode. The picture below shows a cross table sample with the
RightToLeft property set to true:
© 2003-2019 Stimulsoft
Right To Left 1185
By default, the RightToLeft property of the cross table is set to false, this means that
the cross table is output from left to right.
The Reverse Horizontal property is used to flip a chart horizontally. The picture below
shows an example of a chart, with the Reverse Horizontal property set to false (As
one can see, the values of the x-axis have left to right direction.):
If the Reverse Horizontal property is set to true, then the chart will appear in the
opposite direction horizontally. The picture below shows an example of a chart, with the
Reverse Horizontal property is set to true (As one can see, the values of the x-axis have
right to left direction.):
© 2003-2019 Stimulsoft
1186 Stimulsoft Reports and Dashboards User Manual
Stimulsoft Reports prints bands until there is a free space on a page. Then, instead of
creating a new page, the reporting tool adds a new column on the right. Then it prints
data from the top of a page. This happens until all data are printed and page will be
exhausted. The columns direction is always from top to bottom, and a mode of showing
columns can be different. there are two modes: "left to right" and "right to left". The
mode of showing columns on a page depends on the value of the RightToLeft
property of a page. If the RightToLeft property is set to false, then columns will be
output in the "left to right" mode. If this property of a page is set to true, then columns
will be output in the "right to left" mode. The picture below shows columns on a page
output in two modes:
© 2003-2019 Stimulsoft
Right To Left 1187
© 2003-2019 Stimulsoft
1188 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Right To Left 1189
the DataBand. If the RightToLeft property is set to false, then columns on the report
page will be displayed from left to right. If the RightToLeft property is set to true, then
the column on the report page will be displayed from right to left. The picture below
shows examples of two modes of showing columns on report pages:
© 2003-2019 Stimulsoft
1190 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Right To Left 1191
© 2003-2019 Stimulsoft
1192 Stimulsoft Reports and Dashboards User Manual
9 Exports
This section describes principles of saving rendered reports to different formats, basic
characteristics of methods for export, export optimization guidelines data structure
which are used in export methods. Stimulsoft Reports supports great many export
formats to save rendered reports. Many clients think that there are too many formats.
But when you need to get file of definite format type, write only one string of code and
the format is not PDF, HTML or RTF, only Stimulsoft Reports may help. We do not think
that too many export formats in our report generator is disadvantage and continually
work on adding new formats. The more exports the better, as they say.
A list of supported file formats is represented in the table below. All exports are j oined
into groups.
Export Name
PDF (Portable Document Format)
XPS (XML Paper Specification)
HTML (HyperText Markup Language)
HTML5 (HyperText Markup Language)
MHTML (MIME HTML)
TXT (Text File)
RTF (Rich Text)
Microsoft Word 2007/2010
ODT (Open Document Text)
Microsoft Excel
Microsoft Excel Xml
Microsoft Excel 2007/2010
Microsoft Power Point 2007/2010
ODS (Open Document Spreadsheet)
© 2003-2019 Stimulsoft
Exports 1193
These chapters describe export settings which are not unique and are met in a few
exports. Therefore, to prevent describing them again and again, they are j oined in this
section.
Image quality is the compression degree of JPEG. If the compression is low then an
image is of good quality and has big file size. If the compression is high then an image
is of bad quality and has small file size. In Stimulsoft Reports an image quality can vary
from 0.0 (the lowest quality) to 1.0 (highest quality). If an image quality is 1.0 it does
not mean that the image is saved without compression. The JPEG algorithm always
compresses an image. The 1.0 quality means that an image quality will be the same as
the quality of an original document but the file size will be smaller than the original. The
0.0 quality means that the image has slightest similarity to the original document. In
practice, the 0.9 quality has not great distinction from the 1.0 quality but the image with
lower than the 0.1 quality looks bad. By default, in Stimulsoft Reports the image quality
© 2003-2019 Stimulsoft
1194 Stimulsoft Reports and Dashboards User Manual
is 0.75.
Raster images such as scanned photos consist of small cells called pixels. Image
resolution depends on the pixel size and is measured in pixels per inch, ppi, and
sometimes in dots per inch, dpi. The higher resolution the more pixels the image
contains and, accordingly, the more size of the image. In Stimulsoft Reports it is
possible to set any image resolution. But when increasing the resolution in 2 times the
image size will increase in 4 times. Also it is not good to set the image resolution more
than maximal resolution of an output device. For example, devices may have the
following resolution:
matrix printer - 72dpi
monitor screen - 96dpi
laser printers - 300dpi or 600dpi
high-end printers - 1200dpi and higher.
Sometimes repetitive image can be met in a report, for example, company logos on the
header of each page. If do not process such duplicates then a report after export will
have big size. Some formats allows exporting only one image and then refer to it from
different parts of a document. In Stimulsoft Reports, there is a special class that
calculates check sums and searches and processes duplicates. Image processing may
slow down the process of exporting, so it is possible to disable this feature. Each export
has its own property to enable or disable image comparison. By default this property is
always enabled.
Arabs do not use Arabic digits. They use Hindi digits and Arabic digits are auxiliary (the
same as Roman digits for us). But, in any case, all digits are written from left to right.
This property indicates whether it is necessary to convert Roman digits (ASCII 0030h-
0039h) to Arabic digits (Unicode 0660h-0669h or 06F0h-06F9h, depending on the
ArabicDigitsType property). In each types of export the digits conversion can be set by
their own property.
© 2003-2019 Stimulsoft
Exports 1195
Arabic digits have two variants of drawing: Standard and Eastern. The property allows
selecting the type of Arabic digits that will be used in export: Standard or Eastern; by
default the Standard type is used. In each export the type of Arabic digits is enabled or
disabled by its own property.
Stimulsoft Reports allows creating segmented pages. These are pages which horizontal
and/or vertical size are increased in some times. Some applications, such as MS Excel,
allows working with pages of any size, because breaking into small segments can is
processed with the spreadsheet itself. Other applications, such as MS Word, cannot
break pages into small segments. For such applications segmented pages are broken
into separate pages on the stage of selected export; if property, for example, for
Word2007, StiOptions.Export.Word2007.DivideSegmentPages , is set to false then pages are
passed "as is" without breaking into segments. Each type of export has its own property
for breaking segmented pages.
Many exports uses the table mode of export. In this mode data is converted into one
table. If, in the initial report, there is an empty space on the bottom of a page then the
table is broken. The following property allows removing empty space at the bottom of a
page and resulting table is not broken. If it is necessary to save the initial view of a
document then it is necessary to set this property to false. In each type of exports their
own property is used.
When exporting to Excel then all report is converted in one table. Headers and footers
of a page break this table. This property leaves only the first header and the last header
of a page. All other headers and footers are removed. If it is necessary to save the initial
view of a document then it is necessary to set this property to false. For each type of
exports their own property is used.
© 2003-2019 Stimulsoft
1196 Stimulsoft Reports and Dashboards User Manual
Stimulsoft Reports supports three exports with fixed page layout. What is the fixed page
layout? This means that all elements of a page can be placed at any part of a page. In
this case, if to change a position of one element then other components position will
not be changed. These are formats to PDF (Portable Document Format), Microsoft
Power Point 2007/2010 and XPS (XML Paper Specification).
9.3.1 PDF
PDF (Portable Document Format) – is a file format created by Adobe Systems for
document exchange used to create electronic editions using the Adobe Acrobat
package. The PDF format is a file text format that is used to publish documents on any
platform and OS. The PDF document contains one or more pages. Each page may
contain any components: text, graphic and illustrations, information, that provides
navigation across the document.
Information
Export to PDF is based on the "Adobe Portable Document Format, Version 1.3, second
edition", using some elements of latest format specifications.
PDF uses various compression methods to reduce the size of the file. To compress the
text, the LZW ("Flate") algorithm is used. To compress pictures and omages, the JPEG or
LZW algorithms are used. The JPEG algorithm is the compression with loss. It is
recommended for full-color illustrations and images. The LZW algorithm is a lossless
compression, it is recommended for illustrations and images with a small number of
colors, for example graphics, chart, and schemes. To ensure the independence from the
PDF fonts, the file contains a description for each font used in the document. The
description includes the name, size, style and other font options. In the view document
mode, if the font described in the document is available, then it is used. If the font is not
available, it is replaced with a similar one with the same size and other characteristics.
Fonts can be embedded in a document. This greatly increases the size of the file, but
ensures that the document will be correctly displayed on any computer.
© 2003-2019 Stimulsoft
Exports 1197
The Image Resolution is used to change DPI (image property PPI (Pixels Per Inch)).
The greater the number of pixels per inch is, the greater is the quality of the image. It
should be noted that the value of this parameter affects the size of the finished file. The
higher the value is, the greater is the size of the finished file.
The Image Resolution Mode parameter. Depending on the values of this
parameter, a certain resolution will be applied to the images in the report:
© 2003-2019 Stimulsoft
1198 Stimulsoft Reports and Dashboards User Manual
Exactly - all images after conversion will have the resolution specified in the
Image resolution option;
No more than. If the original resolution of the image is less than specified in the
Image resolution parameter, then the resolution of the image after the conversion
of the report will be equal to the original one. If the original resolution is greater
than the one specified in the Image Resolution settings, the image resolution will
correspond to the value of the Image Resolution settings.
Auto. The image after the report is converted will have the original resolution.
The Image Compression Method allows defining the mode of image compression
in the PDF file. The following modes are available:
JPEG - compression with loss;
Flate - compression without loss;
Simple - monochrome mode without dithering;
Ordered - monochrome image with dithering;
FloydSt. - the most precise monochrome mode with dithering.
The option Allow Editable provides the ability to enable the mode in which, after
exporting, it will be possible to modify components with the Editable property enabled.
If No is set, then you can edit all components, unless it is not limited with safety
parameters. If you select Yes then you can only edit components with the Editable
property enabled.
Information
Please note that restrictions on editing a Word document do not use encryption
algorithms strong to cracking. Therefore, for the security of the document it is
recommended to use a digital signature and security group.
The Image Quality will be available only if you select the compression method
JPEG. This option allows you to change the image quality. Keep in mind that if you
change this option the size of the finished file will increase. The higher the quality is, the
larger is the size of the finished file.
The flag Embedded Fonts provides the ability to embed the font files into the
created PDF file. If this option is enabled, then when you export a report, the files of all
the fonts used in the report will be included in a PDF file, and fonts in the resulting file
will be displayed correctly in any PDF viewer. If the property is disabled, then to display
the file correctly all the fonts used in the report must be installed on the computer.
© 2003-2019 Stimulsoft
Exports 1199
Information
When editing a text in the rendered report, the font may be different from the
standard. Therefore, when the editing is performed by some other font, then this font
will be embedded in the PDF file. This may lead to a significant increase of the size of
the PDF.
The flag Export Rich Text as Image as Image enables/disables the conversion of
the RTF text into the image. If the option is disabled, the Rich Text is decomposed into
simpler primitives supported by the PDF format. The Rich Text with complex formatting
(embedded images, tables) cannot always be converted correctly. In this case it is
recommended to enable this option.
Information
When you enable this option, the file size may increase significantly.
By default all embedded fonts are optimized. Characters which are not used in a report
are excluded. It allows decreasing the size of a file. But, for correct work of the editable
field, the font should be complete. Therefore, for fonts, which are used in editable fields,
optimization is not done. This increases the output file size. If Asian languages are used,
the file size can be 15-20mb.
There is one peculiarity of the export: all fonts for embedding to PDF files should be
© 2003-2019 Stimulsoft
1200 Stimulsoft Reports and Dashboards User Manual
installed in the system. And for each font style a single font file should be installed.
The Lucida Console font is usually represented with one file that contains the regular
style (other styles are generated by the system). Therefore, when embedding such a
font to the PDF file, only regular style will be output, instead of all styles of this font.
9.3.1.2.1 Keys
Key is secret information is the secret information that is used by the cryptographic
algorithm when creating and checking the digital signature. Usually for digital signature
the pair of keys is used:
Private key this key is known only for the owner;
Public key this key is available for all users of cryptographic system.
In Digital Signature algorithms the signature is signed on the secret key of a user and is
checked on the public key. So anyone may check what user put this signature. Keys are
bound with specific certificates.
Public key certificate EDS is a digital document confirming the correspondence between
a public key and information identifying the owner of the key. It contains information
about the owner of the key information about the public key, its purpose and scope, the
© 2003-2019 Stimulsoft
Exports 1201
name of the certification authority and so on. Each certificate can be also connected
with a private key. Storage of certificates is called a certificate authority. Certificate store
often contains numerous certificates, possibly derived from different CAs. Certificates in
the repository into folders (categories) that have their own hierarchy. To access any
certificate must specify the name of the repository (category), in which it is located. To
create a digital signature private key is required. Certificates that contain private keys
that are usually located in the two repositories - the repository of the current user or
local computer store. To select the storage you want to use the property Use Local
Machine Certificates. By default it is set to false, and the search is made in the
certificate store of the current user (CERT_SYSTEM_STORE_CURRENT_USER). If it is set
to true, the search will be made in the local computer store
(CERT_SYSTEM_STORE_LOCAL_MACHINE).
9.3.1.2.3 Choosing Certificate
In the first case it is necessary to set the Get Certificate From CryptoUI property to
true. When exporting, the menu for selecting certificate from the current storage of
certificates will be displayed. It is necessary to select one certificate from the list of
available ones.
Important: In web applications this way cannot be used, because the menu of
selecting a certificate is displayed on a computer on what the export is in process, in
other words on the server. So the user cannot see and cannot do anything with it. In
other words the export endlessly waits when the certificate will be selected.
In the second way, it is necessary to use the SubjectNameString property and write in
it the string - certificate identifier. Identifier is the name of the certificate owner (full
string) or a part of the name (substring).
By default the digital signature identifier is placed on the top of the first page of a
document in the right corner, on margins. If it is required to set another position of the
digital signature identifier, then it is necessary to place the text box with the description
of the digital signature, and to set the Tag property to "PdfDigitalSignature".
© 2003-2019 Stimulsoft
1202 Stimulsoft Reports and Dashboards User Manual
9.3.1.3 Encryption
A PDF document can be encoded to protect the content from unauthorized access. A
user may set the following parameters of encryption. The Document Security is a set of
parameters with which you can protect documents from unauthorized access to them:
In the field User Password, specify the password required to open the document.
If you set the password, access to the opening file is limited and will occur only if
you specify the correct password. If no password is specified, i.e. the field is left
blank, then the file may be opened without restrictions.
In the field Owner Password, specify the owner password to access the file. If you
specify a password, access to the file operations, such as printing, copying etc will be
available only after entering a password. If no password is specified, i.e., the field is
left blank, the file operations will be available without restriction.
The flag Allow Print Document enables/disables the restricted access to the
printing operation. If this option is disabled, specifying the owner password is
required to perform this operation. If enabled, then printing will be available for
everyone who opens the document.
The flag Allow Modify Contents enables/disables access to editing the text in
the report. If this option is disabled, specifying the owner password is required to
perform this operation. If enabled, then editing will be available for everyone who
opens the document.
The flag Allow Copy Text and Graphics enables/disables access to copying the
information. If this option is disabled, specifying the owner password is required to
perform this operation. If enabled, then copying will be available for everyone who
opens the document.
The flag Allow Add or Modify Text Annotations enables limited access to work
with the annotations in the document. If this option is disabled, specifying the owner
password is required to perform this operation. If enabled, then this operation will
be available for everyone who opens the document.
The flag Encryption Key Length allows selecting the length of the encryption
key. The longer the length is, the more difficult is to decrypt the document, and,
therefore, the safety of the document is higher.
According to the PDF specification, it is possible to set the access and two passwords:
the public password and the owner's password. If there are no passwords and
everything is allowed to do with the document, then the document is not encrypted. If
© 2003-2019 Stimulsoft
Exports 1203
even one password is set or access is not allowed, then the document is encrypted.
The public password allows opening and viewing documents, and also some actions
are allowed:
edit document;
copy text and graphics from the document;
add and change commentaries;
print document.
The owner password provides access to the document, including password changing
and access permission.
If the owner's password is set, and the public password is not set, then, when opening a
document, the password is not requested.
The PDF Reference defines both 40-bit, 128-bit and 256-bit encryption. By default 40-
bit key is used.
256-bit and 128-bit keys is more secure the 40-bit key. But is some countries the key
length of encryption is limited.
Adobe Acrobat 5:
the PageScaling option from the file is ignored. By default the option in
parameters of Adobe Acrobat is set to "None" but "Fit to printable area" value is
used.
© 2003-2019 Stimulsoft
1204 Stimulsoft Reports and Dashboards User Manual
Adobe Acrobat 7:
it is necessary to embed fonts to the PDF file. Otherwise, when editing, any font
will be replaced on the default font (usually on Tahoma).
Adobe Acrobat 9
Support for 256-bit encryption. In earlier versions, files with 256-bit encryption
algorithm will not be opened.
Adobe Acrobat Х
Support for 256-bit encryption with improved internal calculations, and hence
with a more crypto-stable algorithm.
9.3.2 XPS
XPS (XML Paper Specification) is the open graphic format of fixed page layout on the
base XML (more precisely XAML-based) used to store printed output as electronic
documents. This format was developed by Microsoft as alternative to the PDF
format.The XPS document format consists of structured XML markup that defines the
layout of a document and the visual appearance of each page, along with rendering
rules for distributing, archiving, rendering, processing and printing the documents. The
markup language for XPS is a subset of XAML that allows including vector graphic
elements, using XAML to mark up the WPF-primitives. The XPS is a ZIP-archive that
contains the files which make up the document. The archive includes page mark up
(one file per each page of a document), text, embedded fonts, raster images, 2D vector
graphics and other information.
© 2003-2019 Stimulsoft
Exports 1205
Notice: When you enable this option, the file size may increase significantly.
The flag Open After Export enables/disables the automatic opening of the created document
(after completion of exports), the default program for these file types.
© 2003-2019 Stimulsoft
1206 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Exports 1207
Notice: When you enable this option, the file size may increase significantly.
The flag Open After Export enables/disables the automatic opening of the created document
(after completion of exports), the default program for these file types.
There are two formats HTML (HyperText Markup Language), HTML5 and MHTML
(MIME HTML) are described in this chapter. The first and second formats are used for
web page layout. The second format is a web page archive format used to bind
resources together with the HTML code into a single file.
© 2003-2019 Stimulsoft
1208 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Exports 1209
The Image Quality allows changing the image quality. Keep in mind that if you
change this option the size of the finished file will increase. The higher the quality is, the
larger is the size of the finished file.
With the Image Format it is possible to specify the format of images, which will be transformed
into the image of the report.
The option Scale provides the ability to determine the size (scale) of report pages and items of
the report after the export.
The option Export Mode provides the ability to determine the markup for the HTML page. The
page layout is possible using tags div, span or table.
The flag Compress to Archive provides the ability, when exporting to HTML, to get the zip file
after conversion. If this flag is on, the report processing occurs first, and then all the files and
folders will be packed in a zip archive.
The flag Embedded Image Data provides the ability to embed images directly into the HTML
file. In this case, it is necessary to consider that the correct displaying of this file depends on the
browser being used. Not all browsers support the option to view the HTML file with embedded
pictures.
The flag Add Page Breaks enables/disables the visual separator of report pages. If, for example,
a few pages of the report are exported to a HTML page, it is not always possible to identify the
beginning of the report page. To do this, you should select this option, then it will be, the
beginning of the report page will be indicated by the appropriate delimiter.
The flag Open After Export enables/disables the automatic opening of the created document
(after completion of exports), the default program for these file types.
9.4.1 HTML
HTML (HyperText Markup Language) is the predominant markup language for Web
pages. The maj ority of web pages are created using the HTML language. The HTML
language is interpreted by browser and shown as a document. HTML is a tag language
of the document layout. It provides a means to describe the structure of text-based
information in a document by denoting certain text as links, headings, paragraphs, lists,
etc. Elements are the basic structure for HTML markup. Elements have two basic
properties: attributes and content. Each attribute and each element's content has certain
restrictions that must be followed for a HTML document to be considered valid. An
element usually has a start tag (e.g. <element-name>) and an end tag (e.g. </element-
name>).
© 2003-2019 Stimulsoft
1210 Stimulsoft Reports and Dashboards User Manual
The following minimal web-browsers versions are required for correct HTML export:
When exporting reports to the HTML format, it is necessary to take the following
features of this format into consideration:
if a text does not fit a table cell horizontally, then a browser automatically carries a
text to the next page;
if a text does not fit a table cell vertically, then a browser automatically increases
height of a table cell.
Such a behavior of a text can be obtained in the Net and WPF viewers (Win-viewers)
by setting WordWrap and CanGrow properties of a text component to true. In the
HTML format (and in the Web viewer correspondingly), no matter what is the value of
these two properties, the text component will be shown the same way. For example, put
2 text components on a report template. Insert long text to the first component and a
short one to the second. Set WordWrap and CanGrow properties to false. The picture
below shows a report template:
© 2003-2019 Stimulsoft
Exports 1211
After rendering a report in the Win-viewer, a report will look like on a picture below:
As seen on the picture, a text in the first text component did not fit and was cut, in the
second text component the text fits a text component and shown without changes. Now
set the WordWrap property to true for both components. After rendering, a report will
look in the Win viewer like on the picture below:
As seen on the picture, a text in the first text component is wrapped to the second row.
But the component is not grown by height, so the text does not fit this component and
was cut. In the second component the text fit this component and shown without
changes. In both ways the text in the HTML format in the Web will look the following
way:
If to set the Can Grow properties of these texts components to true, then the report
will look the same in the Win viewer and Web viewer:
© 2003-2019 Stimulsoft
1212 Stimulsoft Reports and Dashboards User Manual
9.4.2 HTML5
HTML5 is a language for structuring and presenting content for the World Wide Web,
and is a core technology of the Internet originally proposed by Opera Software.[1] It is
the fifth revision of the HTML standard (created in 1990 and standardized as HTML4 as
of 1997)[2] and as of December 2011 is still under development. Its core aims have
been to improve the language with support for the latest multimedia while keeping it
easily readable by humans and consistently understood by computers and devices
(web browsers, parsers, etc.). HTML5 is intended to subsume not only HTML 4, but
XHTML 1 and DOM Level 2 HTML as well.
9.4.3 MHT
MHTML (MIME HTML) is a web page archive format used to bind resources which are
typically represented by external links (such as images, Flash animations, Java applets,
audio files) together with HTML code into a single file. This file is a web archive and has
the «.mht» extension. The content of a file is written as an Email message using the
MIME standard: in the beginning of a file the HTML file is written. Then all resources in
the base64 encoding with headers are written. Internet Explorer, Opera, Microsoft Word
can work with the MHTML format.
This chapter describes exports formats of text files. In other words the files which are
used to create text documents.
© 2003-2019 Stimulsoft
Exports 1213
9.5.1 TXT
Text file (TXT) is a kind of computer file that is structured as a sequence of lines. A text
file exists within a computer file system. The end of a text file is often denoted by
placing one or more special characters, known as an end-of-file marker, after the last
line in a text file.
© 2003-2019 Stimulsoft
1214 Stimulsoft Reports and Dashboards User Manual
The checkbox Pages has the field. This field specifies the number of pages to be
processed. You can specify a single page, several pages (using a comma as the
separator) and also specify a range by defining the start page and end page range
separated with "-". For example, 1,3,5-12.
The checkbox Kill Space Lines provides the ability to delete blank lines in the
document. If there are blank lines in a report, setting this flag will make the report more
compact, but it should be taken into consideration that removing those lines can
disrupt the formatting of other report elements.
The checkbox Put Feed Page Code provides an opportunity to select the end of the
page with a special character.
The checkbox Draw Border enables/disables drawing borders of components with
graphic symbols.
The checkbox Cut Long Lines provides the ability to cut lines by the margins of the
component. If this option is enabled, the line length is limited to the margins of the
component. If this option is disabled, the line will be displayed in its full length.
The option Border Type is used to enable a certain type of borders of components.
The options are:
Simple - drawing the borders of components with characters +, -, |.
Unicode-Single - drawing the borders of components with box-drawing characters.
Unicode-Double - drawing the borders of components with double box-drawing
characters.
The option Zoom provides the ability to set the report zoom horizontally and
vertically.
The option Encoding provides the ability to set the text encoding of the report after
exporting.
The checkbox Open After Export enables/disables the automatic opening of the
created document (after completion of exports), the default program for these file
types.
The border in the text mode can be drawn using simple symbols or using
pseudographics. Using the BorderType property it is possible to choose the mode of
border drawing. It may have the following modes:
Simple - drawing a border using simple symbols such as "+", "-", and "|";
UnicodeSingle - drawing a border using the symbols of pseudographics; symbols of
solid border are used;
© 2003-2019 Stimulsoft
Exports 1215
When exporting to the text format, all coordinates and sizes of obj ects are recalculated
to get the text appearance the same as it is in a report. You can control the conversion,
by changing the zoom coefficients of ZoomX and ZoomY. The width of the columns of
the output text is proportional to the width of the initial report. If you want to change
the column width, it is possible to use the following methods:
change the width of a column: it is necessary to specify the column width in
characters in the Tag text box, the width will be set only for those lines which contain
this text box;
column width can be set globally via the ColumnWidths static property; in this case,
the width of the columns is indicated starting from the left column, through the
separator (a semicolon), for example, "10, 12, 45, 10, 10, 5, 20, 50 "; zero width of
columns is ignored.
The old/new export mode is set using the UseOldExportMode property. The new
mode is created on the base of the StiMatrix: if the Word Wrap is enabled and a text
cannot be placed in a cell then the cell height is increased automatically. By default the
new mode is enabled.
9.5.2 RTF
Rich Text Format (RTF) is a free document file format developed by Microsoft for cross-
platform document interchange. The first version of the RTF standard appeared in
1987. Since that time format specification was changed and added. RTF-documents are
supported by many text editors.
© 2003-2019 Stimulsoft
1216 Stimulsoft Reports and Dashboards User Manual
© 2003-2019 Stimulsoft
Exports 1217
The checkbox Use Page Headers and Footers is used to define the Page Header and Footer as
the header and footer of the Word document. If this option is not set, then, after exporting, page
header and footer will be a table cell or an individual frame. In case of editing a report they may
change its location. If this option is enabled, the data bands will be output as objects a header and
footer in the Word document.
Notice: If the checkbox Use Page Headers and Footers is on, it should be taken into
consideration that, in this case, the height of the lines will be minimum allowable.
The checkbox Remove Empty Space at Bottom of the Page is used to display data
one after the other while minimizing empty space at the bottom of the page. If this option is
enabled, then, if empty space is available, the part of data from the next page will be moved to
the empty space. If this option is disabled, the empty space is ignored and the report will be
displayed in the viewer or in the tab Preview.
The flag Open After Export enables/disables the automatic opening of the created
document (after completion of exports), the default program for these file types.
Also there are 2 modes of operation, which are obsolete and retained for compatibility:
WinWord - similar to Frames, but all the obj ects passed as "frame" obj ects of MS-
Word.
TabbedText - the same as the export the Text format, the position of a text is set
using blank spaces and tabulations.
In this mode the whole report is converted into a single table. When exporting the
report is converted into a single table. The document is easily editable but some obj ects
can be changed.
© 2003-2019 Stimulsoft
1218 Stimulsoft Reports and Dashboards User Manual
Depending on the value of the Use Page Headers and Footers property the report is
exported as follow:
value is set to false - the report is exported "as is" and will look the same as in
preview;
value is set to true - the report is additionally processed, all changes are described in
the text below.
Name Description
For example, the following expression can be written in the Tag field:
© 2003-2019 Stimulsoft
Exports 1219
Name Description
9.5.2.2 Issues
MS-Word: if to set top and bottom margin of one of cells in the table row, the same
margin will be set in all cells of the row. Therefore, if to set the top and bottom margins
of the text box, then, after exporting, the same margin will be set for the row of the table
and the text will be moved. In OpenOffice this works without problems.
© 2003-2019 Stimulsoft
1220 Stimulsoft Reports and Dashboards User Manual
The RTF format is based on the RTF specification version 1.4 from 9/1995. The RTF files
can be opened in Microsoft Word starting with the 97 (Office 97) version. In Microsoft
Word 95 the RTF will have the following limitation:
© 2003-2019 Stimulsoft
Exports 1221
© 2003-2019 Stimulsoft
1222 Stimulsoft Reports and Dashboards User Manual
Notice: If the checkbox Use Page Headers and Footers is on, it should be taken into
consideration that, in this case, the height of the lines will be minimum allowable.
The checkbox Remove Empty Space at Bottom of the Page is used to display data
one after the other while minimizing empty space at the bottom of the page. If this option is
enabled, then, if empty space is available, the part of data from the next page will be moved to
the empty space. If this option is disabled, the empty space is ignored and the report will be
displayed in the viewer or in the tab Preview.
The flag Open After Export enables/disables the automatic opening of the created document
(after completion of exports), the default program for these file types.
Depending on the value of the Use Page Headers and Footers property a report is
exported in the following way:
the value is false - a report is exported "as is" and looks as in preview;
the value is true - a report is additionally processed. All changes are described below.
If the Tag is not empty then the content of the Tag property is exported. The Text field is
not exported. Also the string may contain the following expressions, which are changed
on MS-Word commands:
© 2003-2019 Stimulsoft
Exports 1223
For example, in the Tag property the following expression can be written:
9.5.4 ODT
Open Document Text (ODT) is the open document for storing documents of the
OpenOffice Writer, which is included into the OpenOffice.org package. OpenOffice.org
is the open package of office applications created as alternative to Microsoft Office.
OpenOffice.org was one of the first what supported the new open OpenDocument.
Works on Microsoft Windows and UNIX systems: GNU/Linux, Mac OS X, FreeBSD,
Solaris, Irix. OpenDocument Format (ODF) is the open file format for storing office
documents, including text documents, spreadsheets, images, data bases, presentations.
This format is based on the XML format.
OpenOffice Writer is the text processor and visual HTML editor, included into the
OpenOffice. It is open software (LGPL license). Writer is similar to Microsoft Word and
has approximately the same functionality. Writer allows saving documents in different
formats including Microsoft Word, RTF, XHTML, and OASIS Open Document Format.
Starting with the OpenOffice version 2.0, the OpenDocument Format is the default
format for saving documents. File have the «.odt» extension. When exporting the report
is converted into a single table. The document is easily editable but some obj ects can be
changed.
© 2003-2019 Stimulsoft
1224 Stimulsoft Reports and Dashboards User Manual
Notice: If the checkbox Use Page Headers and Footers is on, it should be taken into
consideration that, in this case, the height of the lines will be minimum allowable.
© 2003-2019 Stimulsoft
Exports 1225
The checkbox Remove Empty Space at Bottom of the Page is used to display data
one after the other while minimizing empty space at the bottom of the page. If this option is
enabled, then, if empty space is available, the part of data from the next page will be moved to
the empty space. If this option is disabled, the empty space is ignored and the report will be
displayed in the viewer or in the tab Preview.
The flag Open After Export enables/disables the automatic opening of the created document
(after completion of exports), the default program for these file types.
9.6 Spreadsheets
This group of exports create spreadsheets. They are exports to both different formats of
Microsoft Excel and to OpenOffice Calc.
© 2003-2019 Stimulsoft
1226 Stimulsoft Reports and Dashboards User Manual
Notice: Enabling this option may have residual effects. For example, if the page header or
footer has borders, then, when this option is enabled, these borders may be shown. It is
recommended, before rendering the report, to enable the parameter of the report page,
Unlimited Height. In this case, the report will be rendered on a sizeless single page. The page
header and footer will be printed only once on the Excel sheet.
The checkbox Export Each Page to Sheet is used to export each report page on a separate Excel
sheet. If this option is enabled, then each report page will be located on a separate sheet in Excel.
If this option is disabled, the entire report will be printed on a single sheet of Excel.
The checkbox Export Page Breaks is used to display the borders of the report pages on the Excel
sheet. In other words, if the report contains 10 pages, all of them are placed on one sheet after
export. Enable this option to define the borders of pages. If this option is disabled, all report
pages will be printed, and, if no other delimiters present, will be output in one sizeless page.
© 2003-2019 Stimulsoft
Exports 1227
The flag Open After Export enables/disables the automatic opening of the created document
(after completion of exports), the default program for these file types.
9.6.1 Excel
Microsoft Excel up until Excel 2007 version used a proprietary binary file format called
Binary Interchange File Format (BIFF) and .xls file extension. Specification was closed
but since 2008 it was published. Besides, most of Microsoft Excel can read CSV, DBF,
SYLK, DIF, and other formats.
By default a report is exported as one table to one sheet of Excel. Maximal number of
rows on a sheet is unlimited. It depends on the Excel version and is set using the
MaximumSheetHeight static property (by default 65534, for Excel XP and Excel
2003). If the number of rows is more than default then odd rows will be carried on the
next sheet.
Also it is possible to export each page of a report on a single sheet of Excel. To do this it
is possible to set the ExportEachPageToSheet property to true.
Besides the forced Excel sheets creation they can be created using the ExcelSheet page
property to what any value can be assigned. If some sheets has the same ExcelSheet
value then they are j oined and exported as one sheet. In this case the name of a sheet is
a name of a value.
The XLS format is based on the BIFF8 specification. Full support of this format is
realized starting with the Excel 9.0 (Excel 2000).
© 2003-2019 Stimulsoft
1228 Stimulsoft Reports and Dashboards User Manual
For storing documents as the basic Microsoft Excel format, right up to the Excel 2007
version, used its own binary format of files (BIFF) and the file extension was «.xls». In
Excel 2003 additionally, a new format based on XML (XMLSS) was used. This opened
format is convenient for developers and is data oriented. The basic disadvantage of the
format is impossibility to embed raster images.
For storing documents as the basic Microsoft Excel format, right up to the Excel 2007
version, used its own binary format of files (BIFF) and the file extension was «.xls». In
Excel 2007/2010, the basic format is the Microsoft Office Open XML format and stores
document in files with the «.xlsx» extension. The Excel 2007 is compatible with binary
formats such as CSV, DBF, SYLK, DIF, and others.
By default a report is exported as one table to one Excel sheet. Maximal number of rows
on a sheet in limited. It depend on the version of Excel and is set using the
MaximumSheetHeight static property (by default 1048574 for Excel 2007). If rows
are too many then redundant rows will be output on the next sheet. Also it is possible
to export each page of a report to the single sheet Excel. To do this, it is necessary to set
the ExportEachPageToSheet property to true.
Each page of a report has the ExcelSheet report property to what any expression may
be assigned. Numbers of pages with the same value in the "ExcelSheet" are combined
and exported to a single sheet of Excel. The name of the sheet becomes the value of the
expression.
© 2003-2019 Stimulsoft
Exports 1229
9.6.4 ODS
Open Document Spreadsheet (ODS) is the opened format to store OpenOffice Calc
spreadsheet documents, that is included into the OpenOffice.org package.
OpenOffice.org is a free package of office applications developed as alternative to
Microsoft Office. The OpenDocument is one of the first what started to support the
opened format. it works on Microsoft Windows and UNIX-like systems: GNU/Linux,
Mac OS X, FreeBSD, Solaris, Irix. OpenDocument Format (ODF) — an open document
file format for storing and exchanging editable documents including text documents
(such as notes, reports, and books), spreadsheets, drawings, databases, presentations.
The format is based on the XML-format. The standard was j ointly developed by public
and various organizations and is available to all and can be used without restrictions.
OpenOffice Calc is the table processor that is included into the OpenOffice and is a free
software (LGPL license). Calc is similar to the Microsoft Excel spreadsheet and
functionality of these processors is approximately equal. Calc allows you to saving
documents to various formats, including Microsoft Excel, CSV, HTML, SXC, DBF, DIF,
UOF, SLK, SDC. Starting with version OpenOffice 2.0, for document storage format by
default OpenDocument Format, files are saved with the extension «. Ods». Starting with
the OpenOffice version 2.0 for storing documents, by default, the OpenDocument
Format is used. Files are stored with the «.ods» extension.
© 2003-2019 Stimulsoft
1230 Stimulsoft Reports and Dashboards User Manual
page.
The checkbox Pages has the field. This field specifies the number of pages to be
processed. You can specify a single page, several pages (using a comma as the
separator) and also specify a range by defining the start page and end page range
separated with "-". For example, 1,3,5-12.
The Image Resolution is used to change DPI (image property PPI (Pixels Per Inch)).
The greater the number of pixels per inch is, the greater is the quality of the image. It should be
noted that the value of this parameter affects the size of the finished file. The higher the value is,
the greater is the size of the finished file.
The Image Quality allows changing the image quality. Keep in mind that if you change
this option the size of the finished file will increase. The higher the quality is, the larger is the size
of the finished file.
The flag Open After Export enables/disables the automatic opening of the created document
(after completion of exports), the default program for these file types.
9.7 Data
This is a group of file formats which are used to store table data.
© 2003-2019 Stimulsoft
Exports 1231
Notice: Depending on the file type, parameters, and their number may vary. For example,
when you select a format DIF or Sylk, the following options will be available:
The option Only Data Only enables/disables the mode of exporting data only. If this option
is enabled, information will be exported from the Data bands (the component table,
Hierarchical band). Only these bands are processed, the rest are ignored. If this option is
disabled, the entire report will be exported;
The option Use Default System Encoding allows you to use the system encoding by default.
Different encoding can be applied depending on the installed system. If this option is
disabled, you must set the encoding by the standard.
The checkbox Skip Column Headers enables/disables the column headers. If the option is
enabled, then column headers will not be displayed. If this option is disabled, then column
headers (if present in the report) will be displayed.
The flag Open After Export enables/disables the automatic opening of the created document
(after completion of exports), the default program for these file types.
9.7.1 CSV
CSV (Comma Separated Values) is a text format that is used to represent table data.
Each string of the file is one row of the table. The values of each column are separated
by the delimiter that depends on regional settings. The values that contain reserved
characters (such as a comma or a new string) are framed with the double quotes ( ")
symbol; if double quotes are found in the value they are represented as two double
© 2003-2019 Stimulsoft
1232 Stimulsoft Reports and Dashboards User Manual
Notice: Only those data (components) can be exported to the CSV format which are
placed on data bands. If the SkipColumnHeaders property is set to false then,
additionally, column headers are exported as the first row.
The Tag property of each textbox in a Data band can be specified with the following
elements that control the export:
Export Type : "FieldName"
Column: "FieldName" "DataRow"
Several elements should be separated with the semicolon.
The "Export Type" element indicates for which export the field name is set. The values
can be used: “dbf”, “csv”, “xml”, “default”. The "FieldName" element indicates the field
name in the file. The own name can be specified to each type of export. If the name for
each export is not specified then the name for the “default” type is taken. For example:
The "Column" element indicates that additional field is added to exported data. The
"FieldName" element indicated the name of a new field. The "DataRow" element
indicates the content of a new field and can be an expression. For example:
9.7.2 DBF
DBF (DataBase File) is the format to store data and it is used as the standard way to
store and pass information. The DBF file consist of a header section for describing the
structure of the data in the file. There are several variations on the .dbf file structure.
Notice: Only data can be exported to the DBF format, in other words only the
components, which are placed on data bands.
© 2003-2019 Stimulsoft
Exports 1233
The following elements can be specified in the Tag property to control export:
DataType [ : FieldLength [ : DecimalPartLength ] ]
ExportType : "FieldName"
Column: "FieldName" "DataString"
Several elements should be separated with the semicolon. The “DataType" element
should be only one and should be placed first, other elements – if necessary.
Values of the "DataType" element are shown in the table below. If the data type is not
set, then the string data type is taken by default. The "FieldLength" element sets fixed
width of a data field. If the field width is not set, then the width is taken from the table.
For the string type the default width is the longest string. The "DecimalPartLength"
element sets the number of characters after comma. If it is not set, then the default
number is taken.
Type Description
string : 25 set the column width (25 characters) and cuts all long
strings
float converts decimal digit with the length 15 characters, 5
characters after comma
float :10 converts decimal digit with the length 10 characters, 5
characters after comma
© 2003-2019 Stimulsoft
1234 Stimulsoft Reports and Dashboards User Manual
Notice: If the integer part of a digit is long and cannot be placed into the specified
field, then it is cut, so data are lost. For example, if the write «-12345,678» in the
«float:8:3» field, then the «2345,678» will be output.
The "ExportType" element indicates for which export the field name is set. The values
can be used: “dbf”, “csv”, “xml”, “default”. The "FieldName" element indicates the field
name in the file (for the DBF the is automatically cut up to 10 characters). The own
name can be specified to each type of export. If the name for each export is not
specified then the name for the “default” type is taken. For example:
The "Column" element indicates that the additional field is added to the exported data.
The "FieldName" element indicates the name of a new field. The "DataRow" element
indicates the content of a new field and can be expression. For example
9.7.3 XML
XML (eXtensible Markup Language) is a text format that is used to store structured data
(in exchange for existed files of data bases), for exchange of information between
programs and also to create on its base the special markup languages (for example,
XHTML), sometimes called dictionaries. XML is the hierarchical structure that is used to
store any data. Visually this structure can be represented as the tree. XML supports
Unicode and other encoding.
Notice: Only those data (components) are exported to the XML format which are
placed on data bands.
© 2003-2019 Stimulsoft
Exports 1235
The following elements can be specified in the Tag property to control export to XML:
DataType
ExportType : "FieldName"
Column: "FieldName" "DataRow"
Several elements should be separated with the semicolon. The “DataType" element
should be only one and should be placed first, other elements – if necessary.
Values of the "DataType" element are shown in the table below. If the data type is not
set, then the string data type is taken by default.
The "ExportType" element indicates for which export the field name is set. The values
can be used: “dbf”, “csv”, “xml”, “default”. The "FieldName" element indicates the field
name in the file. The own name can be specified to each type of export. If the name for
each export is not specified then the name for the “default” type is taken. For example:
The "Column" element indicates that additional field is added to the exported data. The
"FieldName" element indicates the name of a new field. The "DataRow" element
indicates the content of a new field and can be expression. For example:
© 2003-2019 Stimulsoft
1236 Stimulsoft Reports and Dashboards User Manual
9.7.4 DIF
DIF (Data Interchange Format) is a text format that is used to exchange sheets between
spreadsheets processors (Microsoft Excel, OpenOffice.org Calc, Gnumeric, StarCalc,
Lotus 1-2-3, FileMaker, dBase, Framework, Multiplan, etc). The only limitation of this
format is that the DIF format may contain only one sheet in one book.
9.7.5 SYLK
SYLK (Symbolic Link) format- this text format is used to exchange data between
applications, specifically spreadsheets. Files of SYLK have «.slk» extension. Microsoft
does not publish a SYLK specification, therefore work with this format in different
applications can be different.
Notice: A SYLK file can be written in Unicode and read by some applications but
anyway many applications which do support Unicode writes SYLK files into ANSI but
not Unicode. Therefore, symbols which do not have representation in the system code
page will be written as ('?') symbols.
9.8 Images
Export groups to graphic formats. All graphic formats can be divided in to types:
bitmapped images and vector formats. Notice. On the current moment the export of
monochrome image is supported only to BMP, GIF, PCX, PNG, TIFF format. So the
DitheringType property works only for these exports.
© 2003-2019 Stimulsoft
Exports 1237
© 2003-2019 Stimulsoft
1238 Stimulsoft Reports and Dashboards User Manual
should be noted that the value of this parameter affects the size of the finished file. The
higher the value is, the greater is the size of the finished file.
The option Image Type provides the ability to define the color scheme of the image.
Color - an image after export will fully comply with the image in the report;
Gray - an image after export will be gray.
Monochrome - images will be strictly black and white. At the same time, it should be
taken into consideration that monochrome images have three modes None, Ordered
and FloydSt.
The option Monochrome Dithering Type allows you to determine the type
monochrome color mixing: None - no dithering, Ordered, FloydSt. - with dithering.
The option TIFF Compression Scheme provides the ability to define a compression
scheme for TIFF files.
The checkbox Cut Edges provides the ability to display a report without page edges.
If this is enabled, then when you export the report the page edges will be cut off. If this
option is disabled, the report page will be displayed with the specified edges.
The checkbox Multiple Files is available when exporting to TIFF. By default, each
report page is a separate image. When exporting to TIFF you can put multiple images in
a single file by disabling the option. You need a special viewer to view the TIFF file that
contains multiple images.
The flag Open After Export enables/disables the automatic opening of the created
document (after completion of exports), the default program for these file types.
9.8.1 BMP
BMP (Bitmap) is an image file format used to store bitmap digital images. Initially the
format could store only DDB (Device Dependent Bitmap) but today the BMP format
stores device-independent rasters (DIB - Device Independent Bitmap). Color depth in
this format varies from 1 to 48 bits per pixel. The maximal image size is 65535×65535
pixels. An image can be compressed but often is stored in uncompressed and has big
size of the file. Many programs work with the BMP format because its support is
integrated into Windows and OS/2.
9.8.2 GIF
GIF (Graphics Interchange Format) is a format to store graphic images. The GIF format
can store compressed images, supports up to 8 bits per pixel, allowing a single image
to reference a palette of up to 256 distinct colors. The GIF format was introduced by
© 2003-2019 Stimulsoft
Exports 1239
CompuServe in 1987 and has since come into widespread usage on the World Wide
Web. In 1989 the format was modified (GIF89a), and transparency and animation was
added. GIF uses LZW-compression. It allows reducing the file size without degrading
the visual quality (logos, schemes). GIF is widely used in World Wide Web.
9.8.3 PNG
PNG (Portable Network Graphics) - is a bitmapped image format that employs lossless
data compression. PNG was created to improve and replace more simple GIF format,
and to replace more complicated TIFF format. In compare with the GIF format, the PNG
format supports RGB images without color losses, supports alpha channels, and uses
DEFLATE (open algorithm of compression), that provides higher compression of
multicolored files. The PNG format is usually used in World Wide Web and for graphic
editing.
9.8.4 TIFF
TIFF (Tagged Image File Format) is a file format for storing images. Originally, the TIFF
format was created by the Aldus company in cooperation with Microsoft for using with
PostScript. TIFF became popular for storing high-color-depth images, and is used for
scanning, fax, to identify text, polygraphy and widely used in graphic applications. This
format is flexible. It allows saving photos in different color spaces, and to use different
algorithms of file compression, and to store a few images in one file.
9.8.5 JPEG
JPEG (Joint Photographic Experts Group) is a format to store images. This format was
created by C-Cube Microsystems as effective method to store high-color-depth images.
For example, scanned photos with smooth variations of tone and color. Algorithm of
compression with losing information is used in the JPEG format. This means that some
visual quality is lost in the process and cannot be restored. It is necessary to get the
highest coefficient of compression. Unpacked JPEG images are rarely have the same
quality as original image but differences are insignificant. Compression ratio is usually
set in conventional units, for example from 1 to 100. 100 is the best quality and 1 is the
worst quality. The better quality the bigger file size.
© 2003-2019 Stimulsoft
1240 Stimulsoft Reports and Dashboards User Manual
9.8.6 PCX
PCX is a format to store images. This format was used in the ZSoft PC Paintbrush
graphic editor (one of the most popular programs) for MS-DOS, text processors and
Microsoft Word and Ventura Publisher. This is not so popular format analogue of BMP
but is supported with such graphics editors as Adobe Photoshop, Corel Draw and
others. The algorithm of compression is very quick but is not effective for compression
of photos and other detailed computer graphics. Today this format is not displaced with
formats which supports better compression. These formats are GIF, JPEG, and PNG.
9.8.7 EMF
WMF is a 16-bit format. This format was introduced in Windows 3.0. A 32-bit version is
called Enhanced Metafile EMF (Enhanced Metafile). The EMF format supports many
new commands, supports work with the GDI+ library, and also is used as a graphic
language for drivers of printers.
9.8.8 SVG
SVG (Scalable Vector Graphics) is an XML-based file format for describing two-
dimensional vector graphics, both static and dynamic. The SVG specification is an open
standard. SVG supports scripting and animation. The vector image is composed of a
fixed set of shapes.
SVG allows three types of graphic obj ects:
Vector graphics;
Raster graphics;
Text.
The Images below shows the difference between exporting Bitmap format and SVG
(vector) format.
© 2003-2019 Stimulsoft
Exports 1241
Bitmap Formats
SVG Format
In addition to the SVG file format, there is a compressed SVG (with file extension
SVGZ), which applies industry-standard, nonproprietary "gzip" compression (an open-
source variant of Zip compression) to SVG files. Compressed SVG files are typically 50
to 80 percent smaller than SVG files. SVG files are compact and can be used to provide
high-quality graphics on the Web.
9.8.10 Dither
Dither is an intentionally applied form of noise, when processing digit signals. It is used
in most often surfaces in the fields of digital audio and video. The following image
shows (from left to right) original image and the result of export to monochrome
image. There are three modes of DitheringType: Ordered, FloydSteinberg, None.
© 2003-2019 Stimulsoft
1242 Stimulsoft Reports and Dashboards User Manual
Notice: On the current moment the export of monochrome image is supported only
to the PCX format. So the DitheringType property works only for this export. Different
images may look differently in these modes. The FloydSteinberg is the best mode to
output an image but the file size is too big.
Many exports have the table mode. In this mode the whole report is converted into one
table. Creating correct templates from the source code allows making the table look
much better, decrease the size of the file, increase the speed of working with export.
Therefore, when using the table mode of export it is important to follow some
recommendations:
use the "Align to Grid" button of the designer. This will decrease the number of rows
and columns in the output file; also this allows avoiding very small gaps between
components (some formats "do not like" table with very small columns);
put components on the data band at the same level (see the picture below); this will
decrease the number of rows and columns in the output file;
For example: put three components in the designer. They should be placed without
gaps. See the picture below:
© 2003-2019 Stimulsoft
Exports 1243
As a result we get the Excel table: five rows and three cells (see the picture below). It is
not convenient to edit such a table, the file size, time of export, and required memory
are increased in some times.
The Excel sheet consists of cells that are formed at the intersection of rows and columns. All items (text,
images, and other data) are arranged in cells and can take only an integer number of cells, both by
width and height. Therefore, when the location of components, column width and row height is adjusted
so that the margins of components coincide with the boundaries of columns/rows:
© 2003-2019 Stimulsoft
1244 Stimulsoft Reports and Dashboards User Manual
When you export a report, the column width and row height is calculated automatically, so as to place
all components using as the smaller number of columns and rows as possible. If all components are
arranged in columns/rows, the number of result columns/rows in the Excel file will match the number of
columns/rows in the report components. If the template structure is more complex, for example
components as headers are not placed in the columns, then additional columns/rows will be added the
Excel file. Consider the following example:
As can be seen from the picture above the text components in the report template are located on
different levels (rows) and not in the same columns. In this case, when you export a report to Excel, the
result will be as follows:
As can be seen from the picture above you add more columns/rows.
do not use the Autowidth property. This property increases the number of columns
in the exported file which is proportionally to number of records.
© 2003-2019 Stimulsoft
Exports 1245
On the left picture the number of columns is 14, and this case is equal in number of
data rows. If to disable the AutoWidth property then only one column will be output
(see the right picture). Accordingly, the file size of a report, shown of the right picture, is
some times smaller then the file of the report shown on the left picture and the export
works faster.
Notice: Number of columns is very important for the text editors. For example, MS
Word allows no more than 64 columns; if the table has more than 64 columns then the
document is output incorrectly.
© 2003-2019 Stimulsoft