I am working on crystal reports in c#.
while printing sales report I want to insert a page break for every new month.
you have to set the property that.
select group section -> select option tab -> insert 1 in the text box of the filed name new page after 1 visible group
Thus your problem should be solve.
Related
I have two reports the first one to show general information and the second one to show details and I need to show each one in a different page in report viewer
can you help me to do that
thanks
like the image
Hopefully, the following can help guide you into what you are looking for. First, you will need THREE reports and TWO datatables (or other lists as you have to build your report).
First, On the 3 reports I describe, I would not worry about any of the report final formatting to be perfectly aligned, bold, spacing... get it to work, then you can make it pretty after all is functional.
Next, create a bogus datatable "MyTable" for the sole purpose of creating two records. Even if a single column of "MyGroup" and having it as an int (just for sample purposes).
Now, create two records and set the values in each row to 1 and 2 respectively so your table has
MyGroup
1
2
Now, for the other two reports. It is my understanding that you want the first report to show a summary of each department's totals with a grand-total. The second report is showing the details of all the activity per department. So this is basically using the same dataset returned from whatever query. For this example, I will refer to the datatable as "SalesData".
CREATING THE REPORTS
Create your first report, put a table control on the report, full width you will have for your current reports as landscape or portrait as long as both the same size, you want this report to be the same. Ex: ALL will be portrait. Add your Report Data source to show the "MyTable" and assign that to the table control. Also add the "SalesData" table to the report as well so it is available to the future sub-reports.
On the table control, below where it shows the "Row Groups", add a "Group By" for the "MyGroup" column. This is so we can force a page-break between each group. Once added, right-click on the parent group "MyGroup" and select "Group Properties". This will show an option on the left side to allow you to set page breaks, click the checkbox for "Between each instance of a group". For now, just have the one column in the table control as the "MyGroup" column. Save the report ex: "MySalesRpt.rdlc". Then compile and run the report. You should get this simple report with 2 pages, each showing just the number 1 and 2 respectively. NOTE: You will also want to add the datatable reference for your secondary reports to this main report as well so they are available as sub-reports of the first.
Create a new report ex: "MySalesDetail.rdlc", add the "SalesData" to it. Add a table control to the report and set its source to the "SalesData" table. Include whatever for your detail columns you want to show of the sales activity. Add a data group based on the department, get your sum( salesDollarColumn ). Add a new row outside/below the group footer so you can have the report grand totals as a sum of all ex: SalesDollarColumn. You can test and run this report on its own until it looks correct.
Now, your third report. Copy/paste the MySalesDetail.rdlc report and change it to MySalesSummary.rdlc. So you don't this summary report showing every row that builds the grand total sum() per each department, right-click on the row that represents the details of the group and delete. It will ask if you want to delete rows and associated groups? Reply yes as it will just remove the details row, but keep the group footer that will retain your sum() total per department. Save, test / run this report.
Once all 3 reports work individually, now we can go back to the "MySalesRpt". Add an additional DETAIL row in this otherwise simple 1-detail report. Right-click on the existing detail row and then pick "Insert Row" -> "Inside Group - Below". This will now show as two rows.
Now, in the first row of the report where it did have just a simple textbox, go to your report Toolbox and pick Subreport and put one instance into each row.
On the first row, subreport, right-click and set properties. Set both the Name and "Use this report as a subreport" to the summary report "MySalesSummary". On the second row subreport, do the same but with "MySalesDetail".
Final step. Click on the Subreport representing the "MySalesSummary". Go to the properties of that and scroll down to the "Hidden" property. You want to have this value set to the expression: ex: "=Fields!MyGroup.Value = 2". This way the report will ONLY be generate when it is on the first record where MyGroup = 1.
Similarly, on the second subreport representing the detail, set the hidden equal to the opposite.. "=Fields!MyGroup.Value = 1". Hide when the MyGroup = 1. This way you can have each report on their own page, but only one will show up per group.
I know is sounds deep, but do it slowly and it should work for you. I already did and confirmed this process works. Sorry so many steps, but it has to be broken into multiple parts to tie them all together as you are requesting.
One rdlc in main local report and the other in subreport. Then set InteractiveSize in the main local report to break it to show each one in a different page in report viewer.
In my rdlc report,I want to show my group data just like this example--
When I click (+) sign group data under the name will expand and When I click (-) sign group data under the name will collapse.I find resources for SSRS report, but nothing useful for rdlc report in recent times.So I followed in my rdlc according to those SSRC report resources if i can get some result.I followed this two specially--
SQL Server Reporting Services(SSRS)
Expand or Collapse All Grouped Items on SSRS Report
I took a table.take "GROUP2" as row details.add group parent "GROUP1" for "GROUP2".Like---
I select group properties for "GROUP2" like--
then i set visibility hide for "GROUP2" , checked "display can be toggled by this group item" and select "GROUP1" as item.like--
It gives me report like this--
there is "GROUP1" item visible, "GROUP2" is hidden but no (+) or (-) sign or button to expand or collapse group data.
Any one have any idea,What i am missing? or how can i do this in rdlc report like the top example of this question and also i want to set button for "Expand All" and "Collapse All" for this report.
EDIT: I am using asp.net mvc, web api-2 controller.I am tring to get report in pdf format.
First you need to select your column/row group and select group properties.
And then select the grouping item from your DataSource
There you go:
Before expanding of group
After expanding of group
First select the table cell showing [GROUP1], and in the Text Box Properties note the Name. This is not necessarily GROUP1, it could well be Textbox10 etc.
Then in the Text Box Properties for the table cell showing [GROUP2], select that Text Box name below "Display can be toggled by this report item:".
BTW you are likely wasting your time trying to use the expand/collapse functionality in SSRS. It is generally considered flaky and unreliable, and does not scale.
PDF format does not support toggling.
Ref:
https://msdn.microsoft.com/en-us/library/dd255288.aspx
(section titled: Toggle items within a report)
"PDF - The report server exports the current show or hide state of the report to PDF. Interactive toggling is not supported"
#MohammadSadiqurRahman Not sure if you got this problem solved but this is something I do that I hope may help you out.
You will need to make sure that your row groupings have been applied correctly. In the example you gave at the top of your post the row group parent would have been set to account type. You would need to make sure this is done for your 'GROUP1'.
Once you have done this set the row visibility for your collapsed row to 'Hide'. Now check the checkbox 'Display can be toggled by this report item' and set the report item to the cell name for the grouped account types.
Personally I attach it to a new label outside of the tablix which will allow for the entire table to expand/collapse with one click. Just depends on how you want it to work.
I hope this helps you out.
Sorry that I can't think of a good title for my question.
I am creating a C# report with report viewer and I am passing the report with data like below:
Product Selling Date Quantity
Pen 1-1-2015 2
Pen 1-2-2015 5
Pencil 1-1-2015 5
Pencil 1-2-2015 3
And I want to display ONE report with each "Product" showing as a header
Example:
Product: Pen
Selling Date Quantity
============ ========
1-1-2015 2
1-2-2015 5
Product: Pencil
Selling Date Quantity
============ ========
1-1-2015 5
1-2-2015 3
Can report viewer fulfill this requirement?
Note: I am using VS2013.
I have found a video for VB exactly fulfilling my requirement, but I can't find similar button "Edit detail group" in C#.
Thanks,
Steven
So I got the answer. Let's start from the very beginning.
In Report Viewer, insert a table.
Highlight the table's data row > Add Group > Parent Group
In the dialog popped up, select Group by "Product" in my case. A column "Product" will be added in the table
You can also do further grouping, say by the product's brand, by selecting the "Product" column > Add Group > Child Group > Group by "Brand"
Remove the auto added columns without removing the group.
Put your data (selling date and quantity) in the data row.
To add the header (Product: Pen), right click on the data row > Inside Row > Inside Group - Above
In the newly inserted row, put the product field in it.
Done.
I am making an application in Visual Studio 2005 to display data on crystal report.
I have grouped the elements on the basis of Vendor Number.
I have two problems here.
First is the first page of Crystal Report is coming blank. It is showing only column names, date and page number. But data is displayed from second page.
http://img203.imageshack.us/img203/9165/erru.jpg</a>[^]
And my second problem is I want to display Vendor name in the place of Vendor Code as a page title.
And both the vendor code and vendor name are in different databases. So I will have to write a query for this. So, how to do it.
Hope my question is clear.
In your group properties, uncheck the option to 'Keep Group Together'. Since the group data does not fit on the same page, in order to prevent the group from being split the whole group is being moved to a new page.
As for the Vendor name fetching, you have to change your SQL query to join the Vendor table (along with database name [DBName.VendorTable]) using VendorCode as the foreign key and retrieve the Vendor name from that table.
As #Arun has noted uncheck the "Group Together" option. Also check you have not checked 'New Page Before/After' in the Report header section
I have a crystal report within a crystal report viewer that the datasource is set to a List<objects>. The crystal report is showing all of the records, my question is how do I set the report to only show the first record and then I can allow the user to iterate through each of the List<objects> on at a time.
Right-click the Detail section (assumedly where you have the fields placed) and select 'Section Expert...'. Choose 'New Page After'. Each row in the Detail section will on a separate page. The user can use the cursor buttons (First, Previous, Next, Last) to move between each page--the buttons resemble those on a DVD player.
Fixed it myself. I had to use custom buttons to manually load in each data record and refresh the report.