2012-02-23 2 views
16

Как установить цвет рамки ячейки таблицы. вот код, который у меня есть:ITextSharp: установить цвет рамки ячейки таблицы

// create and define table 
var table = new PdfPTable(8); 
table.HorizontalAlignment = Element.ALIGN_CENTER; 

//table.HeaderRows = 1; 

// the cell object 
PdfPCell cell; 
var f = FontFactory.GetFont("Tahoma", 11, Font.BOLD); 

cell = new PdfPCell(new Phrase("Source Review", f)); 
cell.BorderColorLeft = new BaseColor(255, 255, 255); 
cell.BorderColorRight = new iTextSharp.text.BaseColor(255, 255, 255); 
table.AddCell(cell); 

Как вы можете видеть, я устанавливаю цвет двумя разными способами, и ни один из способов не работает. Когда таблица отображается, граница всегда черная. Как я могу это исправить.

ответ

27

При установке отдельных границ ячеек свойства, либо необходимо установить всех пограничных цвета и ширины по отдельности или в явном виде установить UseVariableBorders свойства true. Попробуйте этот пример, чтобы понять, что я имею в виду:

PdfPTable table = new PdfPTable(1); 
PdfPCell cell = new PdfPCell(new Phrase("test 1")); 
cell.UseVariableBorders = true; 
cell.BorderColorLeft = BaseColor.BLUE; 
cell.BorderColorRight = BaseColor.ORANGE; 
table.AddCell(cell); 

cell = new PdfPCell(new Phrase("test 2")); 
cell.BorderColorLeft = BaseColor.RED; 
cell.BorderColorRight = BaseColor.GREEN; 
cell.BorderColorTop = BaseColor.PINK; 
cell.BorderColorBottom = BaseColor.YELLOW; 
cell.BorderWidthLeft = 1f; 
cell.BorderWidthRight = 1f; 
cell.BorderWidthTop = 1f; 
cell.BorderWidthBottom = 1f; 
table.AddCell(cell); 

cell = new PdfPCell(new Phrase("test 3")); 
cell.BorderColor = BaseColor.GREEN; 
table.AddCell(cell); 
Смежные вопросы