This is a migrated thread and some comments may be shown as answers.

Rad

3 Answers 64 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Vivek
Top achievements
Rank 2
Vivek asked on 17 Apr 2013, 06:23 PM
Hi,

I have question here related to Rad Grid PDF Export.

Is there any way to avoid hard coding width inside the table (<table width="70px">), In our scenario, we are getting the width from CSS file but it fails while we do export data to Pdf file, we get very weird server error, pasted below-

We don't want to hard code this width inside the table, please suggest some alternative way of doing it.

<telerik:GridTemplateColumn UniqueName="Symbol">
                    <HeaderTemplate>
                        <asp:Label ID="labelHSymbol" runat="server" Text="Symbol"></asp:Label>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <table width="70px">
                            <colgroup>
                                <col />
                            </colgroup>
                            <tr>
                                <td>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <asp:Label ID="labelSymbol" runat="server" Text='<%# Bind("Symbol") %>'></asp:Label>
                                </td>
                            </tr>
                        </table>
                    </ItemTemplate>
                </telerik:GridTemplateColumn>

Server Error in '/' Application.
System.SystemException: At least one of minimum, optimum, or maximum IPD must be specified on table.
  at Telerik.Web.Apoc.ApocDriver.FireApocError(String message)
  at Telerik.Web.Apoc.Fo.Flow.Table.SetIPD(Boolean bHasProportionalUnits, Int32 maxAllocIPD)
  at Telerik.Web.Apoc.Fo.Flow.Table.CalcFixedColumnWidths(Int32 maxAllocationWidth)
  at Telerik.Web.Apoc.Fo.Flow.Table.Layout(Area area)
  at Telerik.Web.Apoc.Fo.Flow.Block.Layout(Area area)
  at Telerik.Web.Apoc.Fo.Flow.TableCell.Layout(Area area)
  at Telerik.Web.Apoc.Fo.Flow.TableRow.Layout(Area area)
  at Telerik.Web.Apoc.Fo.Flow.AbstractTableBody.Layout(Area area)
  at Telerik.Web.Apoc.Fo.Flow.Table.Layout(Area area)
  at Telerik.Web.Apoc.Fo.Flow.Block.Layout(Area area)
  at Telerik.Web.Apoc.Fo.Flow.Flow.Layout(Area area, Region region)
  at Telerik.Web.Apoc.Fo.Flow.Flow.Layout(Area area)
  at Telerik.Web.Apoc.Fo.Pagination.PageSequence.Format(AreaTree areaTree)
  at Telerik.Web.Apoc.StreamRenderer.Render(PageSequence pageSequence)
  at Telerik.Web.Apoc.Fo.FOTreeBuilder.EndElement()
  at Telerik.Web.Apoc.Fo.FOTreeBuilder.Parse(XmlReader reader)
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
 
Exception Details: System.SystemException: System.SystemException: At least one of minimum, optimum, or maximum IPD must be specified on table.
  at Telerik.Web.Apoc.ApocDriver.FireApocError(String message)
  at Telerik.Web.Apoc.Fo.Flow.Table.SetIPD(Boolean bHasProportionalUnits, Int32 maxAllocIPD)
  at Telerik.Web.Apoc.Fo.Flow.Table.CalcFixedColumnWidths(Int32 maxAllocationWidth)
  at Telerik.Web.Apoc.Fo.Flow.Table.Layout(Area area)
  at Telerik.Web.Apoc.Fo.Flow.Block.Layout(Area area)
  at Telerik.Web.Apoc.Fo.Flow.TableCell.Layout(Area area)
  at Telerik.Web.Apoc.Fo.Flow.TableRow.Layout(Area area)
  at Telerik.Web.Apoc.Fo.Flow.AbstractTableBody.Layout(Area area)
  at Telerik.Web.Apoc.Fo.Flow.Table.Layout(Area area)
  at Telerik.Web.Apoc.Fo.Flow.Block.Layout(Area area)
  at Telerik.Web.Apoc.Fo.Flow.Flow.Layout(Area area, Region region)
  at Telerik.Web.Apoc.Fo.Flow.Flow.Layout(Area area)
  at Telerik.Web.Apoc.Fo.Pagination.PageSequence.Format(AreaTree areaTree)
  at Telerik.Web.Apoc.StreamRenderer.Render(PageSequence pageSequence)
  at Telerik.Web.Apoc.Fo.FOTreeBuilder.EndElement()
  at Telerik.Web.Apoc.Fo.FOTreeBuilder.Parse(XmlReader reader)
 
Source Error:
 
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
 
Stack Trace:
 
 
[SystemException: System.SystemException: At least one of minimum, optimum, or maximum IPD must be specified on table.
   at Telerik.Web.Apoc.ApocDriver.FireApocError(String message)
   at Telerik.Web.Apoc.Fo.Flow.Table.SetIPD(Boolean bHasProportionalUnits, Int32 maxAllocIPD)
   at Telerik.Web.Apoc.Fo.Flow.Table.CalcFixedColumnWidths(Int32 maxAllocationWidth)
   at Telerik.Web.Apoc.Fo.Flow.Table.Layout(Area area)
   at Telerik.Web.Apoc.Fo.Flow.Block.Layout(Area area)
   at Telerik.Web.Apoc.Fo.Flow.TableCell.Layout(Area area)
   at Telerik.Web.Apoc.Fo.Flow.TableRow.Layout(Area area)
   at Telerik.Web.Apoc.Fo.Flow.AbstractTableBody.Layout(Area area)
   at Telerik.Web.Apoc.Fo.Flow.Table.Layout(Area area)
   at Telerik.Web.Apoc.Fo.Flow.Block.Layout(Area area)
   at Telerik.Web.Apoc.Fo.Flow.Flow.Layout(Area area, Region region)
   at Telerik.Web.Apoc.Fo.Flow.Flow.Layout(Area area)
   at Telerik.Web.Apoc.Fo.Pagination.PageSequence.Format(AreaTree areaTree)
   at Telerik.Web.Apoc.StreamRenderer.Render(PageSequence pageSequence)
   at Telerik.Web.Apoc.Fo.FOTreeBuilder.EndElement()
   at Telerik.Web.Apoc.Fo.FOTreeBuilder.Parse(XmlReader reader)]
   Telerik.Web.Apoc.ApocDriver.FireApocError(String message) +82
   Telerik.Web.Apoc.Fo.FOTreeBuilder.Parse(XmlReader reader) +701
   Telerik.Web.Apoc.ApocDriver.Render(XmlReader inputReader, Stream outputStream) +192
   Telerik.Web.Apoc.ApocDriver.Render(TextReader inputReader, Stream outputStream) +43
   Telerik.Web.UI.Grid.Export.TableViewExporter.PdfExportRenderForm(HtmlTextWriter nullWriter, Control form) +1120
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +109
   System.Web.UI.HtmlControls.HtmlForm.RenderChildren(HtmlTextWriter writer) +8827569
   System.Web.UI.HtmlControls.HtmlContainerControl.Render(HtmlTextWriter writer) +31
   System.Web.UI.HtmlControls.HtmlForm.Render(HtmlTextWriter output) +53
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
   System.Web.UI.HtmlControls.HtmlForm.RenderControl(HtmlTextWriter writer) +40
   Telerik.Web.UI.Grid.Export.TableViewExporter.PdfExportRenderPage(HtmlTextWriter nullWriter, Control page) +92
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +109
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
   System.Web.UI.Page.Render(HtmlTextWriter writer) +29
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3060
 
 
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272

3 Answers, 1 is accepted

Sort by
0
Kostadin
Telerik team
answered on 22 Apr 2013, 08:43 AM
Hi Vivek,

The reason for that exception is that the nested tables should have width in pixels. I am afraid if you want to use nested tables you need to add the width inline. This information could be found at the following help article.

Greetings,
Kostadin
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
terrysmith
Top achievements
Rank 1
answered on 07 Mar 2014, 09:50 PM
Has this issue been resolved? I'm experiencing the same thing, and there is nothing about this in the PDF Export documentation. We have a grid with AutoGenerateColumns="true". I've tried doing the following but it down not help:

grid.MasterTableView.Width = Unit.Pixel(2000)
grid.Width = Unit.Pixel(2000)
grid.MasterTableView.ExportToPdf()

Thanks
0
Princy
Top achievements
Rank 2
answered on 10 Mar 2014, 01:16 PM
Hi Terrysmith,

Below is a sample code snippet that I tried and couldn't replicate such an issue. Can you please try and let me know. Provide your code snippet for further help.

ASPX:
<asp:Button ID="ExportPDFBtn" runat="server" Text="Export TO PDF" OnClick="ExportPDFBtn_Click" />
<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="SqlDataSource1" AllowPaging="true" AllowSorting="true">
</telerik:RadGrid>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Northwind_newConnectionString3 %>"
    SelectCommand="SELECT [OrderID],[ShipCity],[OrderDate],[ShipVia] FROM [Orders]">
</asp:SqlDataSource>

C#:
protected void ExportPDFBtn_Click(object sender, EventArgs e)
{
  RadGrid1.MasterTableView.Width = Unit.Pixel(500);  
  RadGrid1.MasterTableView.ExportToPdf();
}

Thanks,
Princy
Tags
General Discussions
Asked by
Vivek
Top achievements
Rank 2
Answers by
Kostadin
Telerik team
terrysmith
Top achievements
Rank 1
Princy
Top achievements
Rank 2
Share this question
or