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

How to set row height based on content while printing WPF DataGrid (SfDataGrid)?

Platform: WPF |
Control: SfDataGrid
Tags: printing

You can set the row height based on content while printing WPF DataGrid (SfDataGrid) by extending the GridPrintManager class and overriding the GetRowHeight method in it.

You can set the instance of the extended GridPrintManager to the SfDatagrid.PrintSettings.PrintManagerBase in the SfDataGrid.Loaded event.

C#

public MainWindow()
        {
            InitializeComponent();
            this.datagrid.Loaded += Datagrid_Loaded;
        }
private void Datagrid_Loaded(object sender, RoutedEventArgs e)
        {
            this.datagrid.PrintSettings.PrintManagerBase = new CustomManagerBase(this.datagrid);
        }

 

Refer the below code example in which a custom class is written extending from the GridPrintManager and the GetRowHeight method is overridden to customize the Height of the rows while printing.

C#

public class CustomManagerBase : GridPrintManager
{
    SfDataGrid dataGrid;
    GridRowSizingOptions gridrowsizing = new GridRowSizingOptions();
    double Height = double.NaN;
    public CustomManagerBase(SfDataGrid grid) : base(grid)
    {
        dataGrid = grid;
    }
    protected override double GetRowHeight(object record, int rowindex, RowType rowtype)
    {
        if (record != null && rowtype == RowType.DefaultRow)
        {
            if (this.dataGrid.GridColumnSizer.GetAutoRowHeight(record, gridrowsizing, out Height))
                if (Height > 24)
                    return Height;
        }
        return base.GetRowHeight(record, rowindex, rowtype);
    }
}

 

Refer the below image in which the row size is changed based on the content size.

Set the row height based on content while printing in WPF DataGrid

View sample in GitHub.

 

2X faster development

The ultimate WPF UI toolkit to boost your development speed.
ADD COMMENT
You must log in to leave a comment

Please sign in to access our KB

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

Up arrow icon

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