Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# PdfPTable构造函数中的列数必须大于零 protectedvoidpdf(数据表dt,字符串str) { Document doc=新文档(iTextSharp.text.PageSize.A4,10,22,34,34); PdfWriter wri=PdfWriter.GetInstance(doc,新文件流(Request.PhysicalApplicationPath+“sdad.pdf”,FileMode.Create)); doc.Open(); 添加文件(新段落(“表格”); GridView dataGridview=新建GridView(); dataGridview.ShowHeaderWhenEmpty=true; dataGridview.AllowPaging=false; dataGridview.DataSource=dt; dataGridview.DataBind(); PdfPTable table=新的PdfPTable(dataGridview.Columns.Count); 对于(int j=0;j_C#_Gridview_Itextsharp - Fatal编程技术网

C# PdfPTable构造函数中的列数必须大于零 protectedvoidpdf(数据表dt,字符串str) { Document doc=新文档(iTextSharp.text.PageSize.A4,10,22,34,34); PdfWriter wri=PdfWriter.GetInstance(doc,新文件流(Request.PhysicalApplicationPath+“sdad.pdf”,FileMode.Create)); doc.Open(); 添加文件(新段落(“表格”); GridView dataGridview=新建GridView(); dataGridview.ShowHeaderWhenEmpty=true; dataGridview.AllowPaging=false; dataGridview.DataSource=dt; dataGridview.DataBind(); PdfPTable table=新的PdfPTable(dataGridview.Columns.Count); 对于(int j=0;j

C# PdfPTable构造函数中的列数必须大于零 protectedvoidpdf(数据表dt,字符串str) { Document doc=新文档(iTextSharp.text.PageSize.A4,10,22,34,34); PdfWriter wri=PdfWriter.GetInstance(doc,新文件流(Request.PhysicalApplicationPath+“sdad.pdf”,FileMode.Create)); doc.Open(); 添加文件(新段落(“表格”); GridView dataGridview=新建GridView(); dataGridview.ShowHeaderWhenEmpty=true; dataGridview.AllowPaging=false; dataGridview.DataSource=dt; dataGridview.DataBind(); PdfPTable table=新的PdfPTable(dataGridview.Columns.Count); 对于(int j=0;j,c#,gridview,itextsharp,C#,Gridview,Itextsharp,这是使用Isharp文本创建PDF的代码。但我得到一个错误,PdfPTable构造函数中的列数必须大于零。请任何人帮助解决这个错误。提前感谢。我遇到了这个问题,我找到了解决方案,您可以添加 AutoGenerateColumns=“False”ItemsSource=“{Binding}在xml中(在DataGrid标记中)。 然后必须指定dataGrid.Columns protected void pdf(DataTable dt, string str) {

这是使用Isharp文本创建PDF的代码。但我得到一个错误,PdfPTable构造函数中的列数必须大于零。请任何人帮助解决这个错误。提前感谢。

我遇到了这个问题,我找到了解决方案,您可以添加

AutoGenerateColumns=“False”
ItemsSource=“{Binding}
在xml中(在DataGrid标记中)。 然后必须指定dataGrid.Columns

protected void pdf(DataTable dt, string str)
        {
            Document doc = new Document(iTextSharp.text.PageSize.A4, 10, 22, 34, 34);
            PdfWriter wri = PdfWriter.GetInstance(doc, new FileStream(Request.PhysicalApplicationPath+"sdad.pdf", FileMode.Create));
            doc.Open();
            doc.Add(new Paragraph("Table"));
            GridView dataGridview = new GridView();


            dataGridview.ShowHeaderWhenEmpty = true;
            dataGridview.AllowPaging = false;
            dataGridview.DataSource = dt;
            dataGridview.DataBind();
            PdfPTable table = new PdfPTable(dataGridview.Columns.Count);
            for (int j = 0; j < dataGridview.Columns.Count; j++)
            {
                table.AddCell(new Phrase(dataGridview.Columns[j].HeaderText));
            }
            table.HeaderRows = 1;
            for (int j = 0; j < dataGridview.Rows.Count;j++)
            {
                for (int k = 0; k < dataGridview.Columns.Count; k++)
                {
                    if (dataGridview.Rows[j].Cells[k].Text  != null)
                    {
                        table.AddCell(new Phrase(dataGridview.Rows[j].Cells[k].Text.ToString()));
                    }
                }
            }
            doc.Add(table);
            doc.Close();

        }

在我的例子中,我的html显然是“无效的”:



没有行的表。

dataGridView.Columns.Count的值是多少?实际上它显示为零。但是我可以看到有三列的数据网格视图。为什么不使用DataTable而不是创建一个新的网格视图控件。你怎么能看到它呢?据我所知,你没有将它添加到任何形式。好的。谢谢。我会选择table。我我在一个函数和一个函数中显示了一个网格视图,用于创建pdf.Bingo。无效的Html格式是我的罪魁祸首
<DataGrid  Name="grdTransaksi" HorizontalAlignment="Left"Margin="10,94,0,0" VerticalAlignment="Top" AutoGenerateColumns="False" ItemsSource="{Binding}">
     <DataGrid.Columns>
       <DataGridTextColumn Header="Tanggal" Binding="{Binding tanggal}" />
       <DataGridTextColumn Header="Kode Akun" Binding="{Binding KodeAkun}" />
     </DataGrid.Columns>
</DataGrid>
 <table class="table-bordered" style="width: 100%; margin-top: 10px">
 </table>