i think than it is easier to do it with javascript.
<script type="text/javascript" language="javascript">
function CallPrint(strid) {
var prtContent = document.getElementById(strid);
var WinPrint = window.open('', '', 'letf=0,top=0,width=860,height=800,toolbar=0,scrollbars=0,status=0');
WinPrint.document.write(prtContent.innerHTML);
WinPrint.document.close();
WinPrint.focus();
WinPrint.print();
WinPrint.close();
}
</script>
And then
<input type="image" runat ="server" id ="Image1" src ="/images/images.jpg" onclick="javascript: CallPrint('divPivot1')" title="Print" />
<br />
<div id= "divPivot1">
<asp:GridView ID="OrderGridView" runat="server" AllowPaging="True"
BorderStyle="None" CellPadding="3" DataKeyNames="Article"
Font-Size="Small" HorizontalAlign="Left"
OnPageIndexChanging="OrderGridView_PageIndexChanging" PageSize="20"
TabIndex="15" Width="866px" BackColor="White" BorderColor="#CCCCCC"
BorderWidth="1px">
<FooterStyle BackColor="White" ForeColor="#336699" />
<HeaderStyle BackColor="#336699" Font-Bold="True" ForeColor="White" />
<PagerSettings FirstPageText="First" LastPageText="Last" />
<PagerStyle BackColor="White" ForeColor="#336699" HorizontalAlign="Left" />
<RowStyle ForeColor="#336699" Font-Size="Small" />
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#007DBB" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#00547E" />
<Columns>
<asp:TemplateField HeaderText="Delete" ItemStyle-HorizontalAlign="Center" >
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Update Cartons Quant." ItemStyle-HorizontalAlign="Center" ItemStyle-Width="40">
<ItemTemplate>
<asp:TextBox ID="TextBox" runat="server" Width="90" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br /></div>
everything inside DIV will be printed