c# - 使用itextsharp生成gridview pdf格式时如何设置备用行颜色?
问题描述
我已经在 pdf 表中添加了一些条件,但我想在最后一个条件中添加备用行颜色,而不仅仅是白色。您可以看到行颜色更改有四个条件,但我想将备用颜色放在最后一个条件中。
我的代码如下所示
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
for (int k = 0; k < 2; k++)
{
if (dataGridView1[k, i].Value != null)
{
DateTime dateTime = DateTime.UtcNow.Date;
var tomorrow = dateTime.AddDays(1);
var tom1 = dateTime.AddDays(2);
var tom2 = dateTime.AddDays(3);
string data = dataGridView1.Rows[i].Cells[6].Value.ToString();
string dateVal = Convert.ToDateTime(dataGridView1[k, i].Value).ToString("MM/dd/yyyy");
PdfPCell cellc = new PdfPCell(new Phrase(dateVal, fontTable));
if (dateVal == dateTime.ToString("MM/dd/yyyy") && data != "FIN - ENIG ")
{
cellc.BackgroundColor = new iTextSharp.text.Color(0, 240, 240);
pdfTable.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
}
else if (data != "FIN - ENIG " && dateVal == tomorrow.ToString("MM/dd/yyyy"))
{
cellc.BackgroundColor = new iTextSharp.text.Color(0, 240, 240);
pdfTable.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
}
else if (data != "FIN - ENIG " && dateVal == tom1.ToString("MM/dd/yyyy"))
{
cellc.BackgroundColor = new iTextSharp.text.Color(0, 240, 240);
pdfTable.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
}
else if (data != "FIN - ENIG " && dateVal == tom2.ToString("MM/dd/yyyy"))
{
cellc.BackgroundColor = new iTextSharp.text.Color(0, 240, 240);
pdfTable.DefaultCell.BackgroundColor = BaseColor.LIGHT_GRAY;
}
else
{
// pdfTable.DefaultCell.BackgroundColor = BaseColor.WHITE;
}
pdfTable.AddCell(cellc);
}
}
解决方案
推荐阅读
- c++ - GDB:在未捕获的 C++ 异常后获取有用的堆栈跟踪
- ruby-on-rails-5 - 错误(状态 402)(请求 req_QPLfwLnwBf2OeY)您的卡资金不足
- python - 如何迭代 (key, value) boost::python:dict
- linux - 运行`helm version`时`错误:找不到分蘖`
- angular - 角度条件的ng级问题?
- vb.net - 如何在没有 ElementID 的情况下自动填充 webbrowser 表单?
- django - 用于文件上传的 Django UpdateView 和 ModelForm 不起作用
- mobile - 使用 MobileFirst 的基于位置的推送通知
- mysql - 当我没有匹配的列时如何从其他表中获取特定 id 的结果
- javascript - 使用@public JsDoc 标记和@export 会导致警告