I have a pretty long and wide datagrid which I would like to send to the printer. But how do I print it when I want all rows and columns. It may fill multiple pages - that doesn't matter.
I am using WPF, C# and .Net 4.0
<DataGrid Grid.Column="1"
AutoGenerateColumns="False"
ItemsSource="{Binding Tasks}"
Name="dataGrid"
LoadingRow="dataGrid_LoadingRow"
MouseMove="dataGrid_MouseMove">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Task ID" CellTemplate="{StaticResource hyperlinkTemplate}"></DataGridTemplateColumn>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=TaskName}" Header="Task name" />
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=TaskResponsible}" Header="Task responsible" />
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=TaskResponsibleDepartment}" Header="Task responsible department"></DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Path=Category, ValidatesOnExceptions=True}" Header="Category" EditingElementStyle="{StaticResource CellEditStyle}"/>
<DataGridTextColumn Binding="{Binding Path=Status, ValidatesOnExceptions=True}" Header="Status" EditingElementStyle="{StaticResource CellEditStyle}"></DataGridTextColumn>
<DataGridTextColumn Binding="{Binding Path=Priority, ValidatesOnExceptions=True}" Header="Priority" EditingElementStyle="{StaticResource CellEditStyle}" />
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=StartDate, StringFormat={}{0:yyyy MMMM dd}}" Header="Start date"></DataGridTextColumn>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=ActualHours.TotalHours, StringFormat={}{0:0}}" Header="Actual hours" />
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=EstimatedHours.TotalHours, StringFormat={}{0:0}}" Header="Estimated hours" />
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=EstimatedDeploymentDate, StringFormat={}{0:yyyy MMMM dd}}" Header="Estimated deployment date" />
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=DesiredImplementationDate, StringFormat={}{0:yyyy MMMM dd}}" Header="Desired deployment date" />
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=APP.StartDate, StringFormat={}{0:yyyy MMMM dd}}" Header="APP - Start Date"></DataGridTextColumn>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=APP.EstimatedHours}" Header="APP - Estimated hours"></DataGridTextColumn>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=APP.ActualHours}" Header="APP - Actual hours"></DataGridTextColumn>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=IN.StartDate, StringFormat={}{0:yyyy MMMM dd}}" Header="IN - Start Date"></DataGridTextColumn>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=IN.EstimatedHours}" Header="IN - Estimated hours"></DataGridTextColumn>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=IN.ActualHours}" Header="IN - Actual hours"></DataGridTextColumn>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=SIS.StartDate, StringFormat={}{0:yyyy MMMM dd}}" Header="SIS - Start Date"></DataGridTextColumn>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=SIS.EstimatedHours}" Header="SIS - Estimated hours"></DataGridTextColumn>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=SIS.ActualHours}" Header="SIS - Actual hours"></DataGridTextColumn>
<DataGridTextColumn IsReadOnly="True" Binding="{Binding Path=Tags}" Header="Tags"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
I am just answering this question for @icebat. This can be done with the flow document tool.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.