We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Printing two grid on the same page

Thread ID:





16484 Jul 16,2004 06:46 AM UTC Jul 19,2004 08:55 AM UTC WinForms 3
Tags: GridControl
Asked On July 16, 2004 06:46 AM UTC

Hi, I am facing problem in grid control while printing it. I want to print and preview multiple grid on the same page. when a grid length goes out the paper width, the remaining portions of the grid is not printed or previewed in the next page. Here i attached a sample to replicate the problem. Please let me know, how to handle the above problem. Thanks, Suresh Mani. PrintTwoGrids_7015.zip

Administrator [Syncfusion]
Replied On July 16, 2004 07:29 AM UTC

I do not have a solution for this. To get things to work, in your OnPrintPage, you would have to flag the situation where the grid did not fit, somehow remembering what did not fit. Then tell the printing framework that another page is needed by setting ev.HasMorePages to true. Then when OnPrintPage is call for the second time, print the piece that did not fit on th efirst page. Currently, this will take some coding and time to work out the details. Another option, might be to use the technique from the PrintToFit sample to force everything to fit on a page by shrinking it. This may be simpler to do.

Replied On July 19, 2004 07:53 AM UTC

Hi, I used the HasMorePages property in the OnPrintPage. But when the method called another time for the new page i cannot able to print the remaining protions of the grid control. Is there any provisions in the grid control to remeber how many row are printed and how many columns are printed. Here i attached a sample applciation which uses the HasMorePages property, but still i cannot able to solve the problem. Let me know the solution. Regards, Suresh Mani PrintTwoGrids_935.zip

Administrator [Syncfusion]
Replied On July 19, 2004 08:55 AM UTC

>>Is there any provisions in the grid control to remeber how many row are printed and how many columns are printed No, not currently. You would have to compute the number of columns that can be printed using the size of the rectangle on the printer page that you have allocated to the grid. For example, I suspect you would have to loop through the columns, say on ColIndex, until grid.Model.ColWidths.GetTotal(0, ColIndex) exceeded the width of the rectangle you have allocated for this grid. Then you would know that ColIndex - 1 is the index of the last column that will fit. You would still have the problem of how to only print 0 through ColIndex-1 columns. One way you could do this is to have the derived printdocument subscribe to the grid.Model.QueryColWidth event. In your handler, if e.Index >= ColIndex, then set e.Size = 0 and e.Handled - true. This will dynamically hide the columns you do not want printed on this page. Then when you are printing page 2, you would hide the columns where e.Index < ColIndex. If you handle QueryColWidth in the PrintDocument, you would want to make sure the event was unsubscribe as the printdocument went out of scope.


This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

Please sign in to access our forum

This page will automatically be redirected to the sign-in page in 10 seconds.

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile
Live Chat Icon