| |
|

Data Dynamics Reports Support
Started by Sergey at 07-29-2010 7:02 AM. Topic has 35 replies.
 
 
 
|
|
Sort Posts:
|
|
|
|
07-29-2010, 7:02 AM
|
Sergey
Joined on 08-28-2004
Novosibirsk, Russia
Posts 3,017

|
|
|
So, for "BugReportExtrafit Togeter.zip" report it's enough to get rid of the inner list and leave the outer list+table. Then with US Letter paper size pages 6,8 and 22 include the part of the table. As I mentioned it happens because the list content of outer list can't be placed on one page. You can face the problem when a paper size is taller than 11in though. I've attached the modified report and it's output to PDF with US Letter paper size.
Sergey Abakumoff GrapeCity
|
|
|
|
|
Report
|
|
|
|
07-30-2010, 2:51 AM
|
mcinp1
Joined on 02-22-2010
Posts 58
|
Re: An extra blank page when List has a lis with a table inside it - table HEIGHT dependant
|
|
|
|
|
Sergey wrote: | Hello, KeepTogether property("Fit List on a single page if possible") of List Report Item "Indicates the entire data region (all repeated sections) should be kept together on one page if possible".
|
|
Right. Could you explain sometihng to me - may be I don't understand.
1) What I have is aan outmost List (call it List1 for now) which is set Keep Together = false. Is this list supposed to be flowing from page to page as opposed to jump pages?
2)I have internal content in the List 1 and an element of this content happens to be lists List2 which also has KeepTogeter = false. Now if while rendering along engine sees that List 2 can not be fit on current page - why would it move it to next page? I mean I did not ask for this - did I?
Basically what I am trying to say is that it makes sense for me that ANY element of a report is "flowing" from page to page and can be split across multiple pages by default - does it make sense? And this should include Lists or any Data region if Keep Together is false?
What you said in the previous post was "The layout engine is designed so that the entire list content is always kept on one page if possible" without mentioning Keep Together value - implying that Keep Togeterh is ignored for Lists - or did I miss something?
Re the change you suggested - I probably did not explain it right but I do need internal List. Report is like follows - and there is a good reason for nested Lists:
================== List 1 - for each Paying (Responsible psrson generate statement (1000 statements) ============ To: "Person Responsible for paying for One Or more children" 1 Nowhere Road London
========================== List 2 Internal - for each child ============= Child 1: Alice
----------------------------------------------------------------------------------------------- date Amount etc... ----------------------------------------------------------------------------------------------- Child 1 visit 1 date 100 Visit 2 date 100 Payment -55 ------------------------------------------------------------------------------------------------ Total Charges: 200 Total Paid: 55 =============== end of List 2 for Child 1================================ =============== List 2 instance for Child 2=============================== Child 2: Benny -----------------------------------------------------------------------------------------------
date Amount etc...
-----------------------------------------------------------------------------------------------
Child 1 visit 1 date 100
Visit 2 date 100
Payment -55
------------------------------------------------------------------------------------------------
Total Charges: 200 Total Paid: 55
================end of List2 instance for Benny ==========================
================ End of Lis 1 instance
================ Next List1 instance - next Payer (Responsible ============== ................. ===============================================================
My problem is that internal List2 property Keep Together is set to false but is ignored - e.g. depending on data (how many rows are in the charges/payments grid ) I get pages like:
============= start of the page 1 ======== To: "Person Responsible for paying for One Or more children"
1 Nowhere Road
London <<huge blank space until end of the page>> // I want part of List 2 here as much as fits // to continue on next page ==============end of the page 1=========
==============Page 2=============== ========================== List 2 Internal - for each child =============
Child 1: Alice
-----------------------------------------------------------------------------------------------
date Amount etc...
-----------------------------------------------------------------------------------------------
Child 1 visit 1 date 100
Visit 2 date 100
Payment -55
------------------------------------------------------------------------------------------------
Total Charges: 200 Total Paid: 55
=============== end of List 2 for Child 1================================
============= End of page2 ==========
Thanks, hope this helps
|
|
|
|
|
Report
|
|
|
|
07-30-2010, 3:56 AM
|
mcinp1
Joined on 02-22-2010
Posts 58
|
Re: An extra blank page when List has a lis with a table inside it - table HEIGHT dependant
|
|
|
|
|
Sergey wrote: | Hello, You might want to send us the output of the actual report with which you faced the problem and the RDLX file of that report and we look for the solution that does not involve the breaking changes or the fixes that take a long time to implement..
|
|
Actually it may be a very good idea. How can I do this? The problem only happens with some specific sets of data as it depends on number of rows in innermost grid. In my case data comes from a database as one flat DataTable - what is the easiest way of exporting this data?
Thanks. Peter.
|
|
|
|
|
Report
|
|
|
|
07-30-2010, 4:55 AM
|
Sergey
Joined on 08-28-2004
Novosibirsk, Russia
Posts 3,017

|
Re: An extra blank page when List has a lis with a table inside it - table HEIGHT dependant
|
|
|
|
|
Hello, Do you mean System.Data.DataTable instance by "one flat DataTable"? If so, it can be saved to XML file and sent here.
Sergey Abakumoff GrapeCity
|
|
|
|
|
Report
|
|
|
|
07-30-2010, 5:00 AM
|
mcinp1
Joined on 02-22-2010
Posts 58
|
Re: An extra blank page when List has a lis with a table inside it - table HEIGHT dependant
|
|
|
|
|
Sergey wrote: | Hello, Do you mean System.Data.DataTable instance by "one flat DataTable"? If so, it can be saved to XML file and sent here.
|
|
Yes it is System.Data.DataTable. Do you mean I need to do this in my C# code? Is there a way of saving from Report Designer?
|
|
|
|
|
Report
|
|
|
|
07-30-2010, 5:10 AM
|
Sergey
Joined on 08-28-2004
Novosibirsk, Russia
Posts 3,017

|
Re: An extra blank page when List has a lis with a table inside it - table HEIGHT dependant
|
|
|
|
|
DDR Report Designer does not have built-in functionality that allows to save the data table as XML file. Here is the link to the article that shows How To Persist an ADO.NET DataSet as XML by Using Visual C# .NET http://support.microsoft.com/kb/309183
Sergey Abakumoff GrapeCity
|
|
|
|
|
Report
|
|
|
|
08-02-2010, 6:54 AM
|
mcinp1
Joined on 02-22-2010
Posts 58
|
Re: An extra blank page when List has a lis with a table inside it - table HEIGHT dependant
|
|
|
|
|
Hi Sergey Sorry for delay with data - it will be another couple of days before I can do this - very busy on another project deadline.
You did not reply to my long post with questions above though - does it make sense? Thanks! Peter ------------------------------------------------------------------------------ Questions repeated here: Could you explain sometihng to me - may be I don't understand.
1) What I have is aan outmost List (call it List1 for now) which is set Keep Together = false. Is this list supposed to be flowing from page to page as opposed to jump pages?
2)I
have internal content in the List 1 and an element of this content
happens to be lists List2 which also has KeepTogeter = false. Now if while rendering along engine sees that List 2 can not be fit on current page - why would it move it to next page? I mean I did not ask for this - did I?
Basically
what I am trying to say is that it makes sense for me that ANY element
of a report is "flowing" from page to page and can be split across
multiple pages by default - does it make sense? And this should include Lists or any Data region if Keep Together is false?
What you said in the previous post was "The layout engine is designed so that the entire list content is always kept on one page if possible" without mentioning Keep Together value - implying that Keep Togeterh is ignored for Lists - or did I miss something?
Re
the change you suggested - I probably did not explain it right but I do
need internal List. Report is like follows - and there is a good reason
for nested Lists:
================== List 1 - for each Paying (Responsible psrson generate statement (1000 statements) ============ To: "Person Responsible for paying for One Or more children" 1 Nowhere Road London
========================== List 2 Internal - for each child ============= Child 1: Alice
----------------------------------------------------------------------------------------------- date Amount etc... ----------------------------------------------------------------------------------------------- Child 1 visit 1 date 100 Visit 2 date 100 Payment -55 ------------------------------------------------------------------------------------------------ Total Charges: 200 Total Paid: 55 =============== end of List 2 for Child 1================================ =============== List 2 instance for Child 2=============================== Child 2: Benny -----------------------------------------------------------------------------------------------
date Amount etc...
-----------------------------------------------------------------------------------------------
Child 1 visit 1 date 100
Visit 2 date 100
Payment -55
------------------------------------------------------------------------------------------------
Total Charges: 200 Total Paid: 55
================end of List2 instance for Benny ==========================
================ End of Lis 1 instance
================ Next List1 instance - next Payer (Responsible ============== ................. ===============================================================
My
problem is that internal List2 property Keep Together is set to false
but is ignored - e.g. depending on data (how many rows are in the
charges/payments grid ) I get pages like:
============= start of the page 1 ======== To: "Person Responsible for paying for One Or more children"
1 Nowhere Road
London <<huge blank space until end of the page>> // I want part of List 2 here as much as fits // to continue on next page ==============end of the page 1=========
==============Page 2=============== ========================== List 2 Internal - for each child =============
Child 1: Alice
-----------------------------------------------------------------------------------------------
date Amount etc...
-----------------------------------------------------------------------------------------------
Child 1 visit 1 date 100
Visit 2 date 100
Payment -55
------------------------------------------------------------------------------------------------
Total Charges: 200 Total Paid: 55
=============== end of List 2 for Child 1================================
============= End of page2 ==========
|
|
|
|
|
Report
|
|
|
|
08-02-2010, 7:13 AM
|
Sergey
Joined on 08-28-2004
Novosibirsk, Russia
Posts 3,017

|
Re: An extra blank page when List has a lis with a table inside it - table HEIGHT dependant
|
|
|
|
|
2)I
have internal content in the List 1 and an element of this content
happens to be lists List2 which also has KeepTogeter = false. Now if while rendering along engine sees that List 2 can not be fit on current page - why would it move it to next page? I mean I did not ask for this - did I?
In the report we discuss(code-name is "BugReportExtraKeepTogether") the List2 consists of only list content(see my previous explanation for more details). As I mentioned the list content is always kept together on one page if possible. Does it answer your question? Also, did you try BandedList Report Item to compose the report? Basically BandedList allows a developer to get rid of the nested data regions and still have the data region with grouping and free-form layout(as opposed to the table report item).
Sergey Abakumoff GrapeCity
|
|
|
|
|
Report
|
|
|
|
08-02-2010, 7:45 AM
|
mcinp1
Joined on 02-22-2010
Posts 58
|
Re: An extra blank page when List has a lis with a table inside it - table HEIGHT dependant
|
|
|
|
|
Sorry, not quit. I am confused for 2 reasons:
You worte: >>I've started working on the problem, let me express several facts about the layout engine of our product. List
Report Item defines the region that repeats with each row(or each group
if the list is grouped) in the data set. So, the list report item
output(in the rendered PDF file, printed paper, etc.) is actually the
set of the regions that have the same size. Apparently this is not always true - if List has a detail grid with variable number of rows for each instance of the List (as it happens in my report and the Bugreport too) then each time and instance of the List is renedered it will be different Height.
>>The code-name of such a
region is "list content". For example, if the height of the list report
item at design time is 2 inches and the data set has 10 rows, then the
output consists of 10 list contents, each content's height is 2 inches.
See above - Contents Height will be anyware from 2 inches to infinity?
The layout engine is designed so that the entire list content is always kept on one page if possible.
Again it can't be true by MS design. If I have a header on the rop of the page which takes 1/3 of the page and then a List below which has some header elements, a grid and some footer elements, then in most cases I do not want the List to jump to next page if it becomes taller then 2/3 of the page - I may want the grid to jump as a whole or even grid to be split too. This is normal flow behaiviour of any report writer I have used - e.g. no jumping around (pages are fully filled in line by line) unless asked to. I am sure I have a few of MS reports working exactly like this and never had this problem.
I do beleive you that your engine is written like you describe but it does not automatically make it right, does it? :-)
|
|
|
|
|
Report
|
|
|
|
08-02-2010, 8:03 AM
|
Sergey
Joined on 08-28-2004
Novosibirsk, Russia
Posts 3,017

|
Re: An extra blank page when List has a lis with a table inside it - table HEIGHT dependant
|
|
|
|
|
I simplified the description and did not include the list content of different heights for the sake of clarity. Anyway the designed behavior of the list content is the same - it is always kept on one page if possible. Also, you basically gets the same output in MS SSRS and DDR for the same report(RDL or RDLX). If you find the difference in behaviors of the List rendering, let us know and we will consider this as the bug. Currently I don't see any wrong behaviors in our product.
Sergey Abakumoff GrapeCity
|
|
|
|
|
Report
|
|
|
|
08-06-2010, 5:24 AM
|
mcinp1
Joined on 02-22-2010
Posts 58
|
Re: An extra blank page when List has a lis with a table inside it - table HEIGHT dependant
|
|
|
|
|
Thanks Sergey. 1)Sorry I did not beleive you first time but yes behaiviour is identical in SSRS 2008 - e.g. KeepTogether does not work for Lists, Subreports etc) and it behaves identically to rdlx reports. I tested it using ReportViewer 2008 and KeepTogether does not work as (sensibly) expected.
2)People say that this is fixed in RS 2008 R2 and ReportViewer 2010 though. See for example Reply at the bottom of this thread: http://social.msdn.microsoft.com/Forums/en/vsreportcontrols/thread/e80c786f-37e8-4999-a364-d5fa74bdd744
I did not try it or looked at 2010 version (it also has a lot of other changes) but it would be interesting to see how they fixed it.
3)One way for you to implement KeepTogether for Lists without breaking existing reports I can think of would be to add a new property to Report itself to allow KeepTogtether to work correctly (I mean sensibly - not MS way :-) ) when it is set to true and have a default of false if it is not present in rdlx. This way it is non-breaking change. Say you call the new report property: UseKeepTogetherForListsTablesAndSubreports (long name for clarity only). This can even be set to true for new reports by default when report is created but will be false for old reports (as it is not there).
I am sure you have thought of it. I think it might be a good thing to do as your engine will be better then MS'.
And you already have the code which implements it anyway (as Lists do break across multiple pages when they are longer then a full page). So implementing it should be relatively easy.
4)Are you looking at possibility to implement RS2010 rdl at all? Certainly to stay competitive you must have some plans about it? As ReportViewer Control can be used with VS2008 ( http://blogs.msdn.com/b/changliw/archive/2010/06/29/use-the-reportviewer-2010-control-in-visual-studio-2008-project.aspx ) then I can imagine that most people using MS reports 2008 will switch to ReportViewer 2010 very soon.
Thanks
|
|
|
|
|
Report
|
|
|
|
08-06-2010, 8:24 AM
|
mcinp1
Joined on 02-22-2010
Posts 58
|
|
|
Sergey wrote: | Hello, Maybe you can use Banded List report item instead of the regular List? You might want to send us the output of the actual report with which you faced the problem and the RDLX file of that report and we look for the solution that does not involve the breaking changes or the fixes that take a long time to implement..
|
|
EDITED: not sure bout his one now - it might be OK with real data - see my post later about DistrictSales Sample. The behaiviour described below does seem to happen with this static example. One difference with District Sales Sample is I am using Detail region of the banded list here. -----------------------original post----------------------------------------------------------------- I just tried a quick test with Banded List and KeepTogether = false is ignored in the same manner as List does it. So I am absolutely stuck and may need to go to ReportViewer 2010 :-( I have included my test and the very 1st page is half empty as the whole of BandedList was moved to second page (I am using custom page size)
Am I doing anything wrong? Thanks
|
|
|
|
|
Report
|
|
|
|
08-06-2010, 10:36 AM
|
mcinp1
Joined on 02-22-2010
Posts 58
|
Re: An extra blank page when List has a lis with a table inside it - table HEIGHT dependant
Attachment: ReportAndData.zip
|
|
|
|
|
I managed to serialize some real data. Data xml file and real report are attached.
NOTE: My data is a bit tricky to create so with data I provided the problem does not show up with US Letter size (I don't have enough rows at the moment). But if you: 1) set custom size using Page Setup (see png screenshot in the attachement) and 2)specify Landscape as well (in Page Setup)
then problem appears on the first page which only has header and nothing else - nested List content is pushed to second page so 1st page has huge blank space.
At the moment I do not see any way to implement this report in such a manner that blank space does not appear sometimes e.g. when Height of the internal list is in critical area ( list height > then Height of free area on current page and < then full page Height).
Any solution will be highly appreciated.
Peter.
|
|
|
|
|
Report
|
|
|
|
08-06-2010, 11:28 AM
|
mcinp1
Joined on 02-22-2010
Posts 58
|
Re: An extra blank page when List has a lis with a table inside it - table HEIGHT dependant
Attachment: DistrictSalesModified.zip
|
|
|
|
|
Hi Sergey EDITED:
SORRY - forget this (I thought BandedList.KeepTogether=false was not working). I deleted my original text below now. After I played with it a bit longer I can see your DistrictSales Sample BandedList sample working as expected when KeepTogether = false. Which is good news!
Quick question - can I use a Table in Details (or may be headers) area of Banded List? I guess I should be able to?
Thanks.
|
|
|
|
|
Report
|
|
|
|
08-08-2010, 8:21 PM
|
Sergey
Joined on 08-28-2004
Novosibirsk, Russia
Posts 3,017

|
Re: An extra blank page when List has a lis with a table inside it - table HEIGHT dependant
|
|
|
|
|
You can insert a table in the group header of the banded list to show all the records of the certain group instance in the single table.
Sergey Abakumoff GrapeCity
|
|
|
|
|
Report
|
|
|
|
|
|
Page 2 of 3 (36 items)
|
< 1 2 3 > |
|
|
|
GrapeCity » Product Support » Data Dynamics R... » Re: An extra blank page when List has a lis with a table inside it - table HEIGHT dependant
|
|
|
|
|