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. (Last updated on : Nov 16th 2018).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

SFDataGrid PrintPreview Orientation

Thread ID:

Created:

Updated:

Platform:

Replies:

120718 Oct 8,2015 05:07 AM UTC Oct 30,2015 01:00 PM UTC WPF 7
loading
Tags: SfDataGrid
Venkata Rao
Asked On October 8, 2015 05:07 AM UTC

Hello Sir,

 

In SfDataGrid PrintPreview Window,the default page orientation is portrait.

I would like to change it from code behind.Means Once when the preview window opened then i selected orientation as landscape and i closed it.Again i opened preview window,but the orientation changed to portrait.How can i make it as landscape.

 

Thanks & Regards

Venkat.


Elangovan S [Syncfusion]
Replied On October 9, 2015 06:51 AM UTC

Hi Venkat,

Thank you for contacting Syncfusion Support.

We have analyzed your query, by default the SfDataGrid print preview is set as portrait. You can also modify the print preview page orientation in code behind, please find the following code example.

Code Example [C#]:


dataGrid.PrintSettings.PrintPageOrientation = PrintOrientation.Landscape;



You can download the sample from the following location:

http://www.syncfusion.com/downloads/support/forum/120718/ze/PrintingDemo1520448467

Please let us know if you have any query.

Regards,

Elangovan S


Venkata Rao
Replied On October 10, 2015 06:46 AM UTC

Hi Elangovan ,
I executed your sample and,has some errors.
i.e,dataGrid.PrintSettings.PrintPageOrientation = PrintOrientation.Landscape;
is replaced with dataGrid.PrintSettings.PrintManagerBase.PrintPageOrientation = PrintOrientation.Landscape;
But PrintManagerBase is returning null value and i created CustomGridPrintManager derives from GridPrintManager
and done like this.
 dataGrid.PrintSettings.PrintManagerBase= CustomGridPrintManager(dataGrid);

But still the orientation is portrait.

Elangovan S [Syncfusion]
Replied On October 12, 2015 01:13 PM UTC

Hi Venkat,

We have analyzed your query, it is not possible to set the PrintPageOrientation property value directly from the PrintManagerBase. We need to override the InitializeProperties method from the GridPrintManager and from that only you can set the PrintPageOrientation with in that. Please refer the following code example.


internal class CustomPrintManager : GridPrintManager

    {

        public CustomPrintManager(SfDataGrid grid)

            : base(grid)

        {

        }


        protected override void InitializeProperties()

        {

            base.InitializeProperties();

            this.PrintPageOrientation = PrintOrientation.Landscape;

        }

    }



You can also download the sample from the following location:

http://www.syncfusion.com/downloads/support/forum/120718/ze/SfDataGrid1524788208

Note: In the 13.2 version only we have introduced the sfdataGrid.PrintSettings.PrintPageOrientation property, so could you please update your version you have using. It will help us to analyze more on this.

Please let us know if you have any query.

Regards,

Elangovan S


Venkata Rao
Replied On October 15, 2015 05:30 AM UTC

Hi Venkat,

We have analyzed your query, it is not possible to set the PrintPageOrientation property value directly from the PrintManagerBase. We need to override the InitializeProperties method from the GridPrintManager and from that only you can set the PrintPageOrientation with in that. Please refer the following code example.


internal class CustomPrintManager : GridPrintManager

    {

        public CustomPrintManager(SfDataGrid grid)

            : base(grid)

        {

        }


        protected override void InitializeProperties()

        {

            base.InitializeProperties();

            this.PrintPageOrientation = PrintOrientation.Landscape;

        }

    }



You can also download the sample from the following location:

http://www.syncfusion.com/downloads/support/forum/120718/ze/SfDataGrid1524788208

Note: In the 13.2 version only we have introduced the sfdataGrid.PrintSettings.PrintPageOrientation property, so could you please update your version you have using. It will help us to analyze more on this.

Please let us know if you have any query.

Regards,

Elangovan S


Hi,

How can i get SfDataGrid that can be converted into PrintDocument.So that i can assign that printdocument to printpreview control.

Thanks & Regards,

Venkat


Elangovan S [Syncfusion]
Replied On October 16, 2015 07:01 AM UTC

Hi Venkat,

We have analyzed your query, as per your requirement you can refer our Custom Printing sample which is available in our Dashboard samples or you can download the sample from the following location.

Sample Link:

http://www.syncfusion.com/downloads/support/forum/120718/ze/CustomPrintingDemo-2017024061

Could you update the version detail which you are using, it will help us to give appropriate solution for your query.

Regards,

Elangovan S


Venkata Rao
Replied On October 28, 2015 12:03 PM UTC

            
hi             

In the given example http://www.syncfusion.com/downloads/support/forum/120718/ze/CustomPrintingDemo-2017024061 how to initialize the zoomFactor value.What is this ZoomFactor.
I would like to give border to my printpage,but here there is no option.Please can you solve these things.

Thanks and Regards
Venkat

Jai Ganesh S [Syncfusion]
Replied On October 30, 2015 01:00 PM UTC

Hi Venkat,

Thank you for the update.

We have analyzed your queries and please find the response for your queries below,

Query 1: (How to initialize the zoomFactor value.What is this ZoomFactor)

ZoomFactor value is used to adjust the zooming level for print page and it binded to ZoomSlider. It was directly binded from the source and we cannot initialize the the zoomFactor value.

Query 2: (I would like to give border to my printpage,but here there is no option.Please can you solve these things.)

You can give a border for print page by writing the style for PrintPageControl and set the border like below code example,

Code Example:

<Style TargetType="syncfusion:PrintPageControl">

                <Setter Property="Background" Value="White" />

                <Setter Property="BorderBrush" Value="Gray" />

                <Setter Property="BorderThickness" Value="1" />

                <Setter Property="Template">

                    <Setter.Value>

                        <ControlTemplate TargetType="syncfusion:PrintPageControl">

                            <Viewbox x:Name="PART_Viewbox">

                                <Border Width="{Binding PrintPageWidth}"

                                Height="{Binding PrintPageHeight}"

                                Background="{TemplateBinding Background}"

                                BorderBrush="{TemplateBinding BorderBrush}"

                                BorderThickness="{TemplateBinding BorderThickness}"

                                SnapsToDevicePixels="True">

                                    <Border Margin="30"  BorderThickness="4" BorderBrush="Blue" >

                                    <Border Margin="{Binding PrintPageMargin}">

                                       

                                        <Grid >

                                            <Grid.RowDefinitions>

                                                <RowDefinition Height="Auto" />

                                                <RowDefinition Height="*" />

                                                <RowDefinition Height="Auto" />

                                            </Grid.RowDefinitions>

                                            <ContentControl x:Name="Part_PageHeader"

                                                    Height="{Binding PrintPageHeaderHeight}"

                                                    ContentTemplate="{Binding PrintPageHeaderTemplate}" />

                                            <Border x:Name="PartScalingBorder" Grid.Row="1">

                                                <ContentPresenter x:Name="Part_Panel" />

                                            </Border>

                                            <ContentControl x:Name="Part_PageFooter"

                                                    Grid.Row="2"

                                                    Height="{Binding PrintPageFooterHeight}"

                                                    ContentTemplate="{Binding PrintPageFooterTemplate}" />

                                        </Grid>

                                    </Border>

                                    </Border>

                                </Border>

                            </Viewbox>

                        </ControlTemplate>

                    </Setter.Value>

                </Setter>
            </Style>



We have also modified the sample based on this and you can download the sample from the below location,

Sample:

http://www.syncfusion.com/downloads/support/directtrac/146225/ze/CustomPrintingDemo1777066341

Regards,
Jai Ganesh S

CONFIRMATION

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.

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

;