This is a migrated thread and some comments may be shown as answers.

Report Dock

3 Answers 207 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Vivek
Top achievements
Rank 1
Vivek asked on 14 Mar 2013, 04:02 AM
My report layout is attached
I need to have this in a4 sheet

Section 1 - Constant Height (Bottom of A4)
Section 2 - It will vary its height according to list of data (Above section 1)
Section 3 - Picture should occupy remaining A4 page sheet (Remaining part of the paper)

What is did was
Section 1 is docked bottom
Section 2 is docked bottom (above section 1)
Section 3 is docked fill

Attached my output

When my Section 2 is bigger then details are showed by generating the second page
I need to fit all in a single page by reducing the picture size(section 3)

My designer Code

private void InitializeComponent()
      {
          Telerik.Reporting.TableGroup tableGroup1 = new Telerik.Reporting.TableGroup();
          Telerik.Reporting.TableGroup tableGroup2 = new Telerik.Reporting.TableGroup();
          Telerik.Reporting.TableGroup tableGroup3 = new Telerik.Reporting.TableGroup();
          Telerik.Reporting.TableGroup tableGroup4 = new Telerik.Reporting.TableGroup();
          System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Report1));
          Telerik.Reporting.Drawing.TextWatermark textWatermark1 = new Telerik.Reporting.Drawing.TextWatermark();
          Telerik.Reporting.Drawing.StyleRule styleRule1 = new Telerik.Reporting.Drawing.StyleRule();
          this.textBox1 = new Telerik.Reporting.TextBox();
          this.textBox3 = new Telerik.Reporting.TextBox();
          this.textBox4 = new Telerik.Reporting.TextBox();
          this.pageHeaderSection1 = new Telerik.Reporting.PageHeaderSection();
          this.detail = new Telerik.Reporting.DetailSection();
          this.panel11 = new Telerik.Reporting.Panel();
          this.pictureBox2 = new Telerik.Reporting.PictureBox();
          this.panel2 = new Telerik.Reporting.Panel();
          this.table1 = new Telerik.Reporting.Table();
          this.textBox5 = new Telerik.Reporting.TextBox();
          this.textBox6 = new Telerik.Reporting.TextBox();
          this.textBox7 = new Telerik.Reporting.TextBox();
          this.pageFooterSection1 = new Telerik.Reporting.PageFooterSection();
          this.panel1 = new Telerik.Reporting.Panel();
          this.pictureBox1 = new Telerik.Reporting.PictureBox();
          ((System.ComponentModel.ISupportInitialize)(this)).BeginInit();
          //
          // textBox1
          //
          this.textBox1.Name = "textBox1";
          this.textBox1.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(0.79998695850372314D), Telerik.Reporting.Drawing.Unit.Inch(0.29996046423912048D));
          this.textBox1.Style.BorderStyle.Default = Telerik.Reporting.Drawing.BorderType.Solid;
          this.textBox1.Style.VerticalAlign = Telerik.Reporting.Drawing.VerticalAlign.Middle;
          //
          // textBox3
          //
          this.textBox3.Name = "textBox3";
          this.textBox3.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(0.79998695850372314D), Telerik.Reporting.Drawing.Unit.Inch(0.29996046423912048D));
          this.textBox3.Style.BorderStyle.Default = Telerik.Reporting.Drawing.BorderType.Solid;
          this.textBox3.Style.BorderStyle.Left = Telerik.Reporting.Drawing.BorderType.None;
          this.textBox3.Style.VerticalAlign = Telerik.Reporting.Drawing.VerticalAlign.Middle;
          //
          // textBox4
          //
          this.textBox4.Name = "textBox4";
          this.textBox4.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(0.79998695850372314D), Telerik.Reporting.Drawing.Unit.Inch(0.29996046423912048D));
          this.textBox4.Style.BorderStyle.Default = Telerik.Reporting.Drawing.BorderType.Solid;
          this.textBox4.Style.BorderStyle.Left = Telerik.Reporting.Drawing.BorderType.None;
          this.textBox4.Style.VerticalAlign = Telerik.Reporting.Drawing.VerticalAlign.Middle;
          //
          // pageHeaderSection1
          //
          this.pageHeaderSection1.Height = Telerik.Reporting.Drawing.Unit.Inch(0.3999999463558197D);
          this.pageHeaderSection1.Name = "pageHeaderSection1";
          //
          // detail
          //
          this.detail.Height = Telerik.Reporting.Drawing.Unit.Inch(8.99375057220459D);
          this.detail.Items.AddRange(new Telerik.Reporting.ReportItemBase[] {
          this.panel11,
          this.panel2,
          this.panel1});
          this.detail.Name = "detail";
          this.detail.Style.BorderStyle.Default = Telerik.Reporting.Drawing.BorderType.Inset;
          //
          // panel11
          //
          this.panel11.Docking = Telerik.Reporting.DockingStyle.Bottom;
          this.panel11.Items.AddRange(new Telerik.Reporting.ReportItemBase[] {
          this.pictureBox2});
          this.panel11.Location = new Telerik.Reporting.Drawing.PointU(Telerik.Reporting.Drawing.Unit.Inch(0D), Telerik.Reporting.Drawing.Unit.Inch(7.8937506675720215D));
          this.panel11.Name = "panel11";
          this.panel11.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(6.2676377296447754D), Telerik.Reporting.Drawing.Unit.Inch(1.1000001430511475D));
          this.panel11.Style.BorderStyle.Default = Telerik.Reporting.Drawing.BorderType.Inset;
          //
          // pictureBox2
          //
          this.pictureBox2.Location = new Telerik.Reporting.Drawing.PointU(Telerik.Reporting.Drawing.Unit.Inch(1.9999212026596069D), Telerik.Reporting.Drawing.Unit.Inch(1.1000001430511475D));
          this.pictureBox2.Name = "pictureBox2";
          this.pictureBox2.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(0D), Telerik.Reporting.Drawing.Unit.Inch(0D));
          //
          // panel2
          //
          this.panel2.Docking = Telerik.Reporting.DockingStyle.Bottom;
          this.panel2.Items.AddRange(new Telerik.Reporting.ReportItemBase[] {
          this.table1});
          this.panel2.Location = new Telerik.Reporting.Drawing.PointU(Telerik.Reporting.Drawing.Unit.Inch(0D), Telerik.Reporting.Drawing.Unit.Inch(7.2937493324279785D));
          this.panel2.Name = "panel2";
          this.panel2.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(6.2676377296447754D), Telerik.Reporting.Drawing.Unit.Inch(0.600001335144043D));
          this.panel2.Style.BorderStyle.Default = Telerik.Reporting.Drawing.BorderType.Inset;
          //
          // table1
          //
          this.table1.Anchoring = Telerik.Reporting.AnchoringStyles.Top;
          this.table1.Bindings.Add(new Telerik.Reporting.Binding("DataSource", "=ReportItem.DataObject.ModesList"));
          this.table1.Body.Columns.Add(new Telerik.Reporting.TableBodyColumn(Telerik.Reporting.Drawing.Unit.Inch(0.79998701810836792D)));
          this.table1.Body.Columns.Add(new Telerik.Reporting.TableBodyColumn(Telerik.Reporting.Drawing.Unit.Inch(0.79998701810836792D)));
          this.table1.Body.Columns.Add(new Telerik.Reporting.TableBodyColumn(Telerik.Reporting.Drawing.Unit.Inch(0.79998701810836792D)));
          this.table1.Body.Rows.Add(new Telerik.Reporting.TableBodyRow(Telerik.Reporting.Drawing.Unit.Inch(0.29996046423912048D)));
          this.table1.Body.SetCellContent(0, 0, this.textBox5);
          this.table1.Body.SetCellContent(0, 1, this.textBox6);
          this.table1.Body.SetCellContent(0, 2, this.textBox7);
          tableGroup1.ReportItem = this.textBox1;
          tableGroup2.ReportItem = this.textBox3;
          tableGroup3.ReportItem = this.textBox4;
          this.table1.ColumnGroups.Add(tableGroup1);
          this.table1.ColumnGroups.Add(tableGroup2);
          this.table1.ColumnGroups.Add(tableGroup3);
          this.table1.Items.AddRange(new Telerik.Reporting.ReportItemBase[] {
          this.textBox5,
          this.textBox6,
          this.textBox7,
          this.textBox1,
          this.textBox3,
          this.textBox4});
          this.table1.Location = new Telerik.Reporting.Drawing.PointU(Telerik.Reporting.Drawing.Unit.Inch(3.9378803194267675E-05D), Telerik.Reporting.Drawing.Unit.Inch(3.9418537198798731E-05D));
          this.table1.Name = "table1";
          tableGroup4.Groupings.Add(new Telerik.Reporting.Grouping(null));
          tableGroup4.Name = "DetailGroup";
          this.table1.RowGroups.Add(tableGroup4);
          this.table1.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(2.39996075630188D), Telerik.Reporting.Drawing.Unit.Inch(0.599920928478241D));
          this.table1.Style.BorderStyle.Default = Telerik.Reporting.Drawing.BorderType.Solid;
          //
          // textBox5
          //
          this.textBox5.Name = "textBox5";
          this.textBox5.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(0.79998695850372314D), Telerik.Reporting.Drawing.Unit.Inch(0.29996046423912048D));
          this.textBox5.Style.BorderStyle.Default = Telerik.Reporting.Drawing.BorderType.Solid;
          this.textBox5.Style.VerticalAlign = Telerik.Reporting.Drawing.VerticalAlign.Middle;
          this.textBox5.Value = "=Fields.Speed";
          //
          // textBox6
          //
          this.textBox6.Name = "textBox6";
          this.textBox6.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(0.79998695850372314D), Telerik.Reporting.Drawing.Unit.Inch(0.29996046423912048D));
          this.textBox6.Style.BorderStyle.Bottom = Telerik.Reporting.Drawing.BorderType.Solid;
          this.textBox6.Style.BorderStyle.Default = Telerik.Reporting.Drawing.BorderType.None;
          this.textBox6.Style.BorderStyle.Right = Telerik.Reporting.Drawing.BorderType.Solid;
          this.textBox6.Style.VerticalAlign = Telerik.Reporting.Drawing.VerticalAlign.Middle;
          this.textBox6.Value = "=Fields.Power";
          //
          // textBox7
          //
          this.textBox7.Name = "textBox7";
          this.textBox7.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(0.79998695850372314D), Telerik.Reporting.Drawing.Unit.Inch(0.29996046423912048D));
          this.textBox7.Style.BorderStyle.Bottom = Telerik.Reporting.Drawing.BorderType.Solid;
          this.textBox7.Style.BorderStyle.Default = Telerik.Reporting.Drawing.BorderType.None;
          this.textBox7.Style.VerticalAlign = Telerik.Reporting.Drawing.VerticalAlign.Middle;
          this.textBox7.Value = "=Fields.Torque";
          //
          // pageFooterSection1
          //
          this.pageFooterSection1.Height = Telerik.Reporting.Drawing.Unit.Inch(0.2999996542930603D);
          this.pageFooterSection1.Name = "pageFooterSection1";
          //
          // panel1
          //
          this.panel1.Docking = Telerik.Reporting.DockingStyle.Fill;
          this.panel1.Items.AddRange(new Telerik.Reporting.ReportItemBase[] {
          this.pictureBox1});
          this.panel1.Location = new Telerik.Reporting.Drawing.PointU(Telerik.Reporting.Drawing.Unit.Inch(3.9418537198798731E-05D), Telerik.Reporting.Drawing.Unit.Inch(3.9418537198798731E-05D));
          this.panel1.Name = "panel1";
          this.panel1.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(6.2676773071289062D), Telerik.Reporting.Drawing.Unit.Inch(7.2937493324279785D));
          //
          // pictureBox1
          //
          this.pictureBox1.Docking = Telerik.Reporting.DockingStyle.Fill;
          this.pictureBox1.Location = new Telerik.Reporting.Drawing.PointU(Telerik.Reporting.Drawing.Unit.Inch(0D), Telerik.Reporting.Drawing.Unit.Inch(0D));
          this.pictureBox1.MimeType = "image/jpeg";
          this.pictureBox1.Name = "pictureBox1";
          this.pictureBox1.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(6.2676773071289062D), Telerik.Reporting.Drawing.Unit.Inch(7.2937493324279785D));
          this.pictureBox1.Sizing = Telerik.Reporting.Drawing.ImageSizeMode.Stretch;
          this.pictureBox1.Value = ((object)(resources.GetObject("pictureBox1.Value")));
          //
          // Report1
          //
          this.Items.AddRange(new Telerik.Reporting.ReportItemBase[] {
          this.pageHeaderSection1,
          this.detail,
          this.pageFooterSection1});
          this.Name = "Report1";
          this.PageSettings.Landscape = false;
          this.PageSettings.Margins = new Telerik.Reporting.Drawing.MarginsU(Telerik.Reporting.Drawing.Unit.Inch(1D), Telerik.Reporting.Drawing.Unit.Inch(1D), Telerik.Reporting.Drawing.Unit.Inch(1D), Telerik.Reporting.Drawing.Unit.Inch(0D));
          this.PageSettings.PaperKind = System.Drawing.Printing.PaperKind.A4;
          textWatermark1.Text = "Approved";
          this.PageSettings.Watermarks.Add(textWatermark1);
          this.Style.BackgroundColor = System.Drawing.Color.White;
          styleRule1.Selectors.AddRange(new Telerik.Reporting.Drawing.ISelector[] {
          new Telerik.Reporting.Drawing.TypeSelector(typeof(Telerik.Reporting.TextItemBase)),
          new Telerik.Reporting.Drawing.TypeSelector(typeof(Telerik.Reporting.HtmlTextBox))});
          styleRule1.Style.Padding.Left = Telerik.Reporting.Drawing.Unit.Point(2D);
          styleRule1.Style.Padding.Right = Telerik.Reporting.Drawing.Unit.Point(2D);
          this.StyleSheet.AddRange(new Telerik.Reporting.Drawing.StyleRule[] {
          styleRule1});
          this.Width = Telerik.Reporting.Drawing.Unit.Inch(6.2676773071289062D);
          ((System.ComponentModel.ISupportInitialize)(this)).EndInit();
 
      }
      #endregion
 
      private Telerik.Reporting.PageHeaderSection pageHeaderSection1;
      private Telerik.Reporting.DetailSection detail;
      private Telerik.Reporting.PageFooterSection pageFooterSection1;
      private Telerik.Reporting.Table table1;
      private Telerik.Reporting.TextBox textBox5;
      private Telerik.Reporting.TextBox textBox6;
      private Telerik.Reporting.TextBox textBox7;
      private Telerik.Reporting.TextBox textBox1;
      private Telerik.Reporting.TextBox textBox3;
      private Telerik.Reporting.TextBox textBox4;
      private Telerik.Reporting.Panel panel11;
      private Telerik.Reporting.Panel panel2;
      private Telerik.Reporting.PictureBox pictureBox2;
      private Telerik.Reporting.Panel panel1;
      private Telerik.Reporting.PictureBox pictureBox1;

3 Answers, 1 is accepted

Sort by
0
Hadib Ahmabi
Top achievements
Rank 1
answered on 18 Mar 2013, 01:04 PM
There isn't a way to know the actual Table size after it is processed and measured and the only thing that comes to my mind is to make sure that the table cells will always have a constant height (and will not stretch). This way by knowing the DataSource's Count, you will be able to calculate how tall the table will be and make the necessary adjustments. 
0
Vivek
Top achievements
Rank 1
answered on 18 Mar 2013, 01:21 PM
I dont want to know the table size. I just want to fit my picture at the top for the remaining space left and all my layout should be in A4 sheet.
0
Stef
Telerik team
answered on 21 Mar 2013, 12:49 PM
Hello Vivek,

I believe we have answered this question in your support ticket.
For anyone concerned the auto-resize feature is not supported, so you need to create custom functionality to achieve the desired result, e.g. with user-defined functions and bindings. Keep in mind that resizing an item does not free the space it has occupied regardless the docking. Docking locates items in the report and on rendering these items preserve their dimensions - size and location.

Let us know if you have any further questions.

Kind regards,
Stef
the Telerik team

Telerik Reporting Q1 2013 available for download with impressive new visualizations. Download today from your account.

Tags
General Discussions
Asked by
Vivek
Top achievements
Rank 1
Answers by
Hadib Ahmabi
Top achievements
Rank 1
Vivek
Top achievements
Rank 1
Stef
Telerik team
Share this question
or