2012-02-23 30 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); 

あなたは、私が色2種類の方法を設定していますし、どちらの方法が機能している見ることができるように。表がレンダリングされるとき、境界線は常に黒です。どうしたらいいですか?

答えて

27

あなたが単独ですべて境界線の色と幅を設定し、または明示的にtrueUseVariableBordersプロパティを設定する必要が個々セル境界のプロパティを設定します。この例を試して、私が何を意味するのかを確認してください:

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