gpt4 book ai didi

c# - 如何在**保持自定义货币格式**的同时使用 iTextSharp 将 C# DataGridView 导出为 PDF?

转载 作者:太空宇宙 更新时间:2023-11-03 12:34:17 25 4
gpt4 key购买 nike

我正在尝试使用 iTextSharp 将具有自定义货币格式的 DataGridView 导出为 PDF,格式在运行程序时完美地显示在 DataGrid 上,但在我保存后不会出现在 PDF 上。

这是 DataGridView 代码(显示货币格式):

    DataTable t = new DataTable();

if (t != null)
{
a.Fill(t);

//Custom currency formatting
var format = (NumberFormatInfo)NumberFormatInfo.CurrentInfo.Clone();
format.CurrencySymbol = "R";

dgvMiscEntries.AutoGenerateColumns = false;

dgvMiscEntries.ColumnCount = 2;
//Assign column headers manually

dgvMiscEntries.Columns[0].Name = "Description";
dgvMiscEntries.Columns[0].HeaderText = "Description";
dgvMiscEntries.Columns[0].DataPropertyName = "Description";

dgvMiscEntries.Columns[1].Name = "Rate";
dgvMiscEntries.Columns[1].HeaderText = "Rate";
dgvMiscEntries.Columns[1].DataPropertyName = "Rate";
dgvMiscEntries.Columns[1].DefaultCellStyle.FormatProvider = format;
dgvMiscEntries.Columns[1].DefaultCellStyle.Format = "c";


// Render data onto grid
dgvMiscEntries.DataSource = t;
}

这是 iTextSharp 代码:

            //Creating iTextSharp Misc Entries Table from the DataTable data
PdfPTable miscTable = new PdfPTable(dgvMiscEntries.ColumnCount);
miscTable.DefaultCell.Padding = 3;
float[] miscWidthPosit = new float[] { 1000f, 200f };
miscTable.WidthPercentage = 80;
miscTable.SetWidths(miscWidthPosit);
miscTable.HorizontalAlignment = Element.ALIGN_CENTER;
miscTable.DefaultCell.BorderWidth = 1;
miscTable.SpacingBefore = 10;
miscTable.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;

foreach (DataGridViewRow row in dgvMiscEntries.Rows)
{
foreach (DataGridViewCell cell in row.Cells)
{
if (cell.Value != null)
{
miscTable.AddCell(cell.Value.ToString());
}
}
}

我在这里和其他网站上搜索过类似的问题,但没有找到任何解决这个特定问题的方法。

最佳答案

那是因为 Value 属性采用用于提供格式化文本的实际绑定(bind)值。

所以代替

miscTable.AddCell(cell.Value.ToString());

使用FormattedValue

miscTable.AddCell(cell.FormattedValue.ToString());

关于c# - 如何在**保持自定义货币格式**的同时使用 iTextSharp 将 C# DataGridView 导出为 PDF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41588653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com