2012-02-23 24 views
16

Tablo hücresinin kenarlık rengini nasıl ayarlayabilirim. Burada sahip olduğum kodudur:ITextSharp: Tablo hücresi kenarlığı rengini ayarlama

// 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); 

i renk iki farklı şekilde ayarlıyorum ve ne yolu çalıştığını görebileceğiniz gibi. Tablo oluşturulduğunda kenarlık daima siyahtır. Bunu nasıl düzeltebilirim? Eğer bireysel hücre sınır özelliklerini ayarladığınızda

cevap

27

Tek tek tüm sınır renk ve genişlikleri ayarlamanız gerekir veya açıkça true için UseVariableBorders özelliğini ayarlayın. Ne demek istediğimi görmek için bu örneği deneyin:

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); 
İlgili konular