Hello, I have a problem when exporting a radgrid to a PDF.
Queria 2 radgrid export PDF to a spreadsheet, reading the forum found a method where the 2 radgrid inserted in a third radgrid itemtemplate. One of those 2 is inserted radgrid hierarchy (detail).
The deal to export the third radgrid throws me the following error:
System.NullReferenceException: Object reference not set to an instance of an object.
at Telerik.Web.Apoc.Render.Pdf.Fonts.Type2CIDSubsetFont.get_WArray()
at Telerik.Web.Apoc.Pdf.PdfFontCreator.CreateCIDFont(String pdfFontID, Font font, CIDFont cidFont)
at Telerik.Web.Apoc.Pdf.PdfFontCreator.MakeFont(String pdfFontID, Font font)
at Telerik.Web.Apoc.Pdf.FontSetup.AddToResources(PdfFontCreator fontCreator, PdfResources resources)
at Telerik.Web.Apoc.Render.Pdf.PdfRenderer.StopRenderer()
at Telerik.Web.Apoc.StreamRenderer.StopRenderer()
at Telerik.Web.Apoc.Fo.FOTreeBuilder.Parse(XmlReader reader)
This error comes when I have the radgrid with hierarchy, but if not radgrid hierarchy (ie both simple radgrid) I exported to PDF without problems.
I hope can help me.
File .aspx :
File .aspx.vb :
Thanks
Queria 2 radgrid export PDF to a spreadsheet, reading the forum found a method where the 2 radgrid inserted in a third radgrid itemtemplate. One of those 2 is inserted radgrid hierarchy (detail).
The deal to export the third radgrid throws me the following error:
System.NullReferenceException: Object reference not set to an instance of an object.
at Telerik.Web.Apoc.Render.Pdf.Fonts.Type2CIDSubsetFont.get_WArray()
at Telerik.Web.Apoc.Pdf.PdfFontCreator.CreateCIDFont(String pdfFontID, Font font, CIDFont cidFont)
at Telerik.Web.Apoc.Pdf.PdfFontCreator.MakeFont(String pdfFontID, Font font)
at Telerik.Web.Apoc.Pdf.FontSetup.AddToResources(PdfFontCreator fontCreator, PdfResources resources)
at Telerik.Web.Apoc.Render.Pdf.PdfRenderer.StopRenderer()
at Telerik.Web.Apoc.StreamRenderer.StopRenderer()
at Telerik.Web.Apoc.Fo.FOTreeBuilder.Parse(XmlReader reader)
This error comes when I have the radgrid with hierarchy, but if not radgrid hierarchy (ie both simple radgrid) I exported to PDF without problems.
I hope can help me.
File .aspx :
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="LiquidaManD2.aspx.vb" Inherits="CuentasXCobrar_LiquidaManD2" %> |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
<html xmlns="http://www.w3.org/1999/xhtml"> |
<head runat="server"> |
<title></title> |
<style type="text/css"> |
.style3 |
{ |
border-style: solid; |
border-color: inherit; |
border-width: 1px; |
font: bold 12px verdana; |
color: White; |
background: #6787C0; |
top: auto; |
text-align: left; |
height: 26px; |
width: 400px; |
} |
.style4 |
{ |
border-style: solid; |
border-color: inherit; |
border-width: 1px; |
font: bold 12px verdana; |
color: White; |
background: #DDDDDD; |
top: auto; |
text-align: left; |
height: 38px; |
} |
.bot_02 |
{ |
background: #D5E6FF; |
font: bold 11px arial; |
color: #445C7D; |
text-decoration: none; |
text-align: center; |
width: 56px; |
} |
.fila_Page_Inter { |
border-style: solid; |
border-color: inherit; |
border-width: 1px; |
font: bold 12px verdana; |
color: White; |
background: #609FC9; |
top: auto; |
text-align:left; |
} |
.texto03 |
{ |
background-color: #DDDDDD; |
color: #6787C0; |
font: bolder 11px tahoma; |
text-align: right; |
padding: 5px; |
border: 0px; |
} |
.style1 |
{ |
background-color: #DDDDDD; |
font: bold 10px verdana; |
color: #6787C0; |
text-align: right; |
margin-bottom: 1px; |
height: 22px; |
margin-top: 0px; |
} |
.style2 |
{ |
height: 22px; |
} |
.style2 |
{ |
height: 0px; |
vertical-align:bottom; |
} |
.style5 |
{ |
width: 99px; |
} |
.style6 |
{ |
width: 181px; |
} |
.style7 |
{ |
width: 118px; |
} |
.style8 |
{ |
width: 235px; |
} |
.style9 |
{ |
width: 126px; |
} |
.fila_Page_Button { |
font: bold 12px verdana; |
color: White; |
background: #DDDDDD; |
top: auto; |
text-align:left; |
border: solid 1px; /*solid, outset*/ |
} |
</style> |
</head> |
<body> |
<form id="form2" runat="server"> |
<asp:ScriptManager ID="ScriptManager1" runat="server"> |
</asp:ScriptManager> |
<table width="770" cellspacing="0" cellpadding="0" border="0"> |
<tr> |
<td> |
<table cellspacing="0" cellpadding="0" border="0" |
width="100%"> |
<tr> |
<td class = "style3"> |
Cuentas por Cobrar</td> |
</tr> |
<tr> |
<td class = "style4" > |
<asp:Button ID="btnSearch" runat="server" CssClass="bot_02" Text="Buscar" |
Height="22px" /> |
<asp:Button ID="btnGrabar" runat="server" CssClass="bot_02" Text="Grabar" /> |
<asp:Button ID="btnEliminar" runat="server" CssClass="bot_02" Text="Eliminar" |
Width="56px" /> |
<asp:Button ID="btnImprimir" runat="server" CssClass="bot_02" Text="Imprimir" /> |
<asp:Button ID="btnCerrar" runat="server" CssClass="bot_02" Text="Cerrar" /> |
</td> |
</tr> |
</table> |
<table cellspacing="0" cellpadding="0" border="0" width="100%"> |
<tr> |
<td class="fila_Page_Inter"> |
</td> |
</tr> |
</table> |
<table cellspacing="0" cellpadding="0" border="0" width="100%"> |
<tr> |
<td width="50%"> |
<table cellpadding="0" cellspacing="0" border="0" width="100%"> |
<tr> |
<td width="20%" class="texto03"> |
Edificio: |
</td> |
<td width="80%"> |
</td> |
</tr> |
<tr> |
<td width="20%" class="style1"> |
Año: |
</td> |
<td width="80%" class="style2"> |
</td> |
</tr> |
<tr> |
<td width="20%" class="texto03"> |
Mes: |
</td> |
<td width="80%"> |
</td> |
</tr> |
</table> |
</td> |
<td width="50%"> |
<table cellpadding="0" cellspacing="0" border="0" width="100%"> |
<tr> |
<td width="20%"> |
<asp:Label ID="Label1" runat="server" Text="Label" Visible="False"></asp:Label> |
</td> |
<td width="80%"> |
</td> |
</tr> |
<tr> |
<td width="20%"> |
</td> |
<td width="80%"> |
</td> |
</tr> |
</table> |
</td> |
</tr> |
</table> |
<table cellspacing="0" cellpadding="0" width="100%" border="0"> |
<tr> |
<td class="fila_Page_Inter" style="height:20px" colspan="6">Documentos requeridos para el Calculo</td> |
</tr> |
<tr><td class="style5"> |
</td> |
<td class="style6"> |
</td> |
<td class="style7"> |
</td> |
<td class="style8"> |
</td> |
<td class="style9"> |
</td> |
<td> |
<telerik:RadNumericTextBox ID="RadNumericTextBox1" Runat="server" BackColor="#C3D5FD" |
BorderColor="#FF3300" BorderStyle="Solid" ForeColor="#003366" Width="110px"> |
<DisabledStyle Font-Bold="True" Font-Size="13pt" HorizontalAlign="Right" /> |
</telerik:RadNumericTextBox> |
</td> |
</tr> |
<tr> |
<td align="right" class="fila_Page_Button" style="padding-left:5px;" colspan="6"> |
<asp:Button ID="btnLiquidar" runat="server" CssClass="bot_02" Text="Liquidar" /> |
</td> |
</tr> |
<tr> |
<td class="fila_Page_Inter" style="height:20px;" colspan="6"> |
Calculo por Oficina: |
</td> |
</tr> |
<tr> |
<td colspan="6"> |
</td> |
</tr> |
</table> |
</td> |
</tr> |
</table> |
<%-- <table cellspacing="0" cellpadding="0" border="0" width="100%"> |
<tr> |
<td class="fila_Page_Inter" style="height:25px"> |
Documentos pendientes a Liquidar |
</td> |
</tr> |
<tr> |
<td class="fila_Page_Button"> |
<asp:Button ID="btnBuscarDP" runat="server" CssClass="bot_02" |
Text="Buscar" /> |
<asp:Button ID="btnSeleccionar" runat="server" CssClass="bot_02" |
Text="Seleccionar" Width="77px" /> |
<asp:Button ID="btnCerrarV" runat="server" CssClass="bot_02" |
Text="Cerrar" /> |
</td> |
</tr> |
<tr> |
<td> |
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" |
GridLines="None" Skin="WebBlue"> |
<MasterTableView> |
<RowIndicatorColumn> |
<HeaderStyle Width="20px" /> |
</RowIndicatorColumn> |
<ExpandCollapseColumn> |
<HeaderStyle Width="20px" /> |
</ExpandCollapseColumn> |
<Columns> |
<telerik:GridTemplateColumn UniqueName="TemplateColumn"> |
</telerik:GridTemplateColumn> |
<telerik:GridBoundColumn UniqueName="column"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn UniqueName="column1"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn UniqueName="column2"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn UniqueName="column3"> |
</telerik:GridBoundColumn> |
</Columns> |
</MasterTableView> |
</telerik:RadGrid> |
</td> |
</tr> |
</table>--%> |
<script type="text/javascript"> |
function OpenWindow() { |
var wnd = window.radopen("Default.aspx", null); |
wnd.setSize(400, 400); |
wnd.open(); |
} |
function OnClientClose(radWindow) |
{ |
radWindow.Close(); |
//window.location.href = "News.aspx"; |
} |
function OpenConfirm() { |
radconfirm('<h3 style=\'color: #333399;\'>Are you sure?</h3>', confirmCallBackFn, 330, 100, null, 'RadConfirm custom title'); |
return false; |
} |
</script> |
<telerik:RadFormDecorator ID="RadFormDecorator1" Runat="server" |
Skin="Vista" /> |
<telerik:RadWindowManager ID="RadWindowManager1" runat="server" Skin="Vista" > |
</telerik:RadWindowManager> |
<telerik:RadWindow ID="RadWindow1" runat="server" Top="20" Modal="true" Behavior="Close" |
ReloadOnShow="true" BackColor="Gray" NavigateUrl="Default.aspx"> |
</telerik:RadWindow> |
<telerik:RadGrid ID="RadGrid5" runat="server" GridLines="None"> |
<MasterTableView> |
<ItemTemplate> |
<telerik:RadGrid ID="RadGrid6" runat="server" |
onitemcreated="RadGrid6_ItemCreated" onneeddatasource="RadGrid6_NeedDataSource"> |
</telerik:RadGrid> |
<br /> |
<telerik:RadGrid ID="RadGrid1" runat="server" GridLines="None" Skin="WebBlue" onneeddatasource="RadGrid1_NeedDataSource" |
AutoGenerateColumns="False" style="margin-right: 0px" |
ondetailtabledatabind="RadGrid1_DetailTableDataBind1" |
onitemcreated="RadGrid1_ItemCreated"> |
<MasterTableView AllowPaging="false" DataKeyNames="des_inmueble" ShowFooter="True"> |
<RowIndicatorColumn> |
<HeaderStyle Width="20px"></HeaderStyle> |
</RowIndicatorColumn> |
<DetailTables> |
<telerik:GridTableView runat="server" Name="Detalle"> |
<Columns> |
<telerik:GridBoundColumn DataField="des_servicio" HeaderText="Servicio" |
UniqueName="column1"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="suministro" HeaderText="Suministro" |
UniqueName="column2"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="total_apagar" HeaderText="Monto Doc." |
UniqueName="column3"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="area_ocupada" HeaderText="Área Ocupada (m² )" |
UniqueName="column4"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="Area_Suministro" |
HeaderText="Area Suministro (m² )" UniqueName="column5"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="indice" HeaderText="Indice" |
UniqueName="column6"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="monto" HeaderText="Monto Asignado" |
UniqueName="column"> |
</telerik:GridBoundColumn> |
</Columns> |
</telerik:GridTableView> |
</DetailTables> |
<ExpandCollapseColumn Visible="True"> |
</ExpandCollapseColumn> |
<Columns> |
<telerik:GridBoundColumn DataField="cod_inmueble" HeaderText="Cod Inmueble" |
UniqueName="column1"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="des_inmueble" HeaderText="Inmueble" |
UniqueName="column2"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="area_ocupada" HeaderText="Area Ocupada por Oficina (m² ) " |
UniqueName="column3"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="gasto_total" HeaderText="Gasto Total" |
UniqueName="column4" Aggregate="Sum"> |
<FooterStyle BackColor="#C3D5FD" BorderColor="#FF3300" BorderStyle="Solid" |
Font-Bold="True" Font-Size="12pt" ForeColor="#003366" |
HorizontalAlign="Right" /> |
<ItemStyle HorizontalAlign="Right" /> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="periodo" HeaderText="Periodo" |
UniqueName="column" Visible="False"> |
</telerik:GridBoundColumn> |
<telerik:GridTemplateColumn HeaderText="Selec." UniqueName="TemplateColumn"> |
<ItemTemplate> |
<asp:CheckBox ID="chkSelec0" runat="server" /> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
</Columns> |
</MasterTableView> |
</telerik:RadGrid> |
</ItemTemplate> |
</MasterTableView> |
</telerik:RadGrid> |
</form> |
</body> |
</html> |
File .aspx.vb :
Imports System |
Imports System.Data |
Imports Telerik.Web.UI |
Imports Inmuebles.InmueblesNegocio |
Imports Inmuebles |
Imports System.Configuration |
Imports System.Web |
Imports System.Web.Security |
Imports System.Web.UI |
Imports System.Web.UI.WebControls |
Imports System.Web.UI.WebControls.WebParts |
Imports System.Web.UI.HtmlControls |
Partial Class CuentasXCobrar_LiquidaManD2 |
Inherits UIPageInmuebles |
Protected Sub btnCerrar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCerrar.Click |
Response.Redirect("LiquidaMan.aspx") |
End Sub |
Protected Sub btnImprimir_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnImprimir.Click |
For Each commandItem In Me.RadGrid5.MasterTableView.GetItems(GridItemType.CommandItem) |
commandItem.Visible = False |
Next |
RadGrid5.ExportSettings.ExportOnlyData = True |
RadGrid5.ExportSettings.IgnorePaging = False |
RadGrid5.MasterTableView.HierarchyDefaultExpanded = True |
RadGrid5.Rebind() |
RadGrid5.MasterTableView.ExportToPdf() |
End Sub |
Public Sub RadGrid1_DetailTableDataBind(ByVal source As Object, ByVal e As Telerik.Web.UI.GridDetailTableDataBindEventArgs) |
Dim dataItem As GridDataItem = CType(e.DetailTableView.ParentItem, GridDataItem) |
Select Case e.DetailTableView.Name |
Case "Detalle" |
Dim oliquidacion As New Liquidacion |
Dim dt1 As DataTable = oliquidacion.RA_MOSTRAR_LIQUIDACIONXOFICINA_DETALLE(dataItem.GetDataKeyValue("des_inmueble").ToString()) |
e.DetailTableView.DataSource = dt1 |
End Select |
End Sub |
Protected Sub RadGrid1_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) |
TryCast(source, RadGrid).DataSource = Session("Grilla1") |
End Sub |
Protected Sub RadGrid6_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) |
TryCast(source, RadGrid).DataSource = Session("rgServicios") |
End Sub |
Protected Sub RadGrid5_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles RadGrid5.NeedDataSource |
Dim table As New DataTable |
table.Columns.Add("Prueba??!!!") |
table.Rows.Add("") |
RadGrid5.DataSource = table |
End Sub |
Protected Sub RadGrid5_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles RadGrid5.ItemCreated |
If TypeOf e.Item Is GridDataItem OrElse TypeOf e.Item Is GridHeaderItem Then |
e.Item.Style("color") = "black" |
For Each cell As TableCell In e.Item.Cells |
cell.Style("font-family") = "Calibri" |
cell.Style("text-align") = "right" |
cell.Style("vertical-align") = "middle" |
cell.Style("font-size") = "9px" |
Next |
End If |
Select Case e.Item.ItemType |
Case GridItemType.Item |
e.Item.Style("background-color") = "#FFFFFF" |
Exit Select |
Case GridItemType.AlternatingItem |
e.Item.Style("background-color") = "#ECECD8" |
Exit Select |
Case GridItemType.Header |
e.Item.Style("background-color") = "#718CA1" |
e.Item.Style("color") = "white" |
Exit Select |
Case GridItemType.CommandItem |
e.Item.Style("background-color") = "#ECECD8" |
Exit Select |
End Select |
If TypeOf e.Item Is GridCommandItem Then |
e.Item.PrepareItemStyle() |
End If |
End Sub |
Protected Sub RadGrid6_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) |
If TypeOf e.Item Is GridDataItem OrElse TypeOf e.Item Is GridHeaderItem Then |
e.Item.Style("color") = "black" |
For Each cell As TableCell In e.Item.Cells |
cell.Style("font-family") = "Calibri" |
cell.Style("text-align") = "right" |
cell.Style("vertical-align") = "middle" |
cell.Style("font-size") = "9px" |
Next |
End If |
Select Case e.Item.ItemType |
Case GridItemType.Item |
e.Item.Style("background-color") = "#FFFFFF" |
Exit Select |
Case GridItemType.AlternatingItem |
e.Item.Style("background-color") = "#ECECD8" |
Exit Select |
Case GridItemType.Header |
e.Item.Style("background-color") = "#718CA1" |
e.Item.Style("color") = "white" |
Exit Select |
Case GridItemType.CommandItem |
e.Item.Style("background-color") = "#ECECD8" |
Exit Select |
End Select |
If TypeOf e.Item Is GridCommandItem Then |
e.Item.PrepareItemStyle() |
End If |
End Sub |
Protected Sub RadGrid1_DetailTableDataBind1(ByVal source As Object, ByVal e As Telerik.Web.UI.GridDetailTableDataBindEventArgs) |
Dim dataItem As GridDataItem = CType(e.DetailTableView.ParentItem, GridDataItem) |
Select Case e.DetailTableView.Name |
Case "Detalle" |
Dim oliquidacion As New Liquidacion |
Dim dt1 As DataTable = oliquidacion.RA_MOSTRAR_LIQUIDACIONXOFICINA_DETALLE(dataItem.GetDataKeyValue("des_inmueble").ToString()) |
e.DetailTableView.DataSource = dt1 |
End Select |
End Sub |
Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) |
If e.Item.OwnerTableView.Name <> "Detalle" Then |
For Each dataItem As GridDataItem In e.Item.OwnerTableView.Items |
For Each cell As TableCell In e.Item.Cells |
cell.Style("font-family") = "Calibri" |
cell.Style("text-align") = "right" |
cell.Style("vertical-align") = "middle" |
cell.Style("font-size") = "9px" |
Next |
Next |
End If |
If e.Item.OwnerTableView.Name = "Detalle" Then |
If TypeOf e.Item Is GridDataItem Then |
For Each cell As TableCell In e.Item.Cells |
cell.Style("font-family") = "Calibri" |
cell.Style("text-align") = "right" |
cell.Style("vertical-align") = "middle" |
cell.Style("font-size") = "9px" |
Next |
End If |
If TypeOf e.Item Is GridHeaderItem Then |
For Each cell As TableCell In e.Item.Cells |
cell.Style("font-family") = "Calibri" |
cell.Style("text-align") = "right" |
cell.Style("font-size") = "9px" |
cell.Style("height") = "35px" |
Next |
End If |
If TypeOf e.Item Is GridCommandItem Then |
e.Item.PrepareItemStyle() |
End If |
End If |
End Sub |
End Class |
Thanks