ExportToPdf每个RadGrid记录在ASP.Net的一个页面中

时间:2018-05-28 10:45:58

标签: asp.net radgrid

我正在使用asp.net中的radgrid。 在ExportToPDF上进行操作时,我需要在单独的页面中获取每条记录。 目前我正在获取所有记录,没有任何页面级别到每个记录。但我们如何在页面级别设置每个记录?

示例:如果有100条记录,我应该能够在导出的pdf中获得100页,其中每页记录在一页中。

Aspx代码:

<telerik:RadGrid ID="dlTemplate" runat="server" AutoGenerateColumns="false" 
AllowPaging="true">                                                    
<GroupingSettings CaseSensitive="false" />
<PagerStyle AlwaysVisible="true" Mode="NextPrevAndNumeric" />
   <ExportSettings ExportOnlyData="true" OpenInNewWindow="true" 
 IgnorePaging="true"  FileName="Template">
      <Pdf PageTitle="Letter Template" PaperSize="A4" />
           <Pdf PageWidth="270mm" PageHeight="297mm" />
     </ExportSettings>
     <MasterTableView DataKeyNames="Message" TableLayout="Auto" HeaderStyle- 
  CssClass="title-b14px" ItemStyle-CssClass="txtlable-b13px-normal">
       <Columns>
        <telerik:GridBoundColumn UniqueName="Message" DataField="Message" 
HeaderText="Message">
        </telerik:GridBoundColumn>
       </Columns> 
     </MasterTableView>
</telerik:RadGrid>

Aspx.cs代码:

    protected void print_page(object sender, EventArgs e)
    {
        try
        {               

            DataTable dt1 = new DataTable();
            dt1.Columns.Add("Message", typeof(string));

            DataRow dr = dt1.NewRow();
            dt1.Rows.Add(dr);
            //dt1.Rows[0][0] = lblLable.Text;
            string msg = string.Empty;
            foreach (GridDataItem row in dlTemplate.Items)
            {
                for (int i = 0; i < dlTemplate.Columns.Count; i++)
                {
                    var message = row["Message"].Text;
                    message = Regex.Replace(message, "(<style.+?</style>)| 
   (<script.+?</script>)", "", RegexOptions.IgnoreCase | 
    RegexOptions.Singleline);
                    msg += message + "<br/><hr/>";
                }
            }
            dt1.Rows[0][0] = msg.Remove(msg.Length - 5);

            dlTemplate.DataSource = dt1;
            dlTemplate.DataBind();
            dlTemplate.MasterTableView.ExportToPdf();


        }
        catch (Exception ex)
        {
            BLGeneral.LogException(ex);
        }
    }

1 个答案:

答案 0 :(得分:0)

更新导出设置

 <ExportSettingsExportOnlyData="true"Excel-Format="Html"OpenInNewWindow="true">  
                <PdfPageHeight="210mm"PageWidth="297mm"DefaultFontFamily="Arial Unicode MS"PageTopMargin="45mm"  
BorderStyle="Thin"BorderColor="#666666">  
                </Pdf>  
            </ExportSettings>