2015-04-03 25 views
8

Tôi có bảng MigraDoc nơi tôi chỉ định chiều cao hàng là 0,75cm và văn bản được căn chỉnh theo chiều dọc ở giữa ô. Khi tôi đặt cell.Format.Shading.Color thành một cái gì đó không phải màu trắng, vẫn còn một phần của ô gần biên giới được hiển thị như màu trắng xung quanh tất cả bốn mặt.Cách đặt Màu nền của ô trong bảng MigraDoc

Tôi phát hiện ra tôi có thể xóa phần trắng ở bên trái và bên phải của văn bản bằng cách đặt cột.LeftPadding = 0 và column.RightPadding = 0. Tuy nhiên, tôi không thể tìm ra cách để có các sọc trắng ở trên cùng/dưới cùng của văn bản biến mất mà không ảnh hưởng đến căn chỉnh theo chiều dọc của văn bản. Nếu tôi thay đổi chiều cao dòng đoạn thành 0.75cm, các sọc sẽ biến mất, nhưng văn bản sau đó được căn chỉnh dưới cùng bên trong ô. Tôi không thể đặt màu tô bóng vì mỗi ô trong cột chứa một màu khác nhau. Có ai biết một cách để buộc đoạn để điền vào các tế bào theo chiều dọc (hoặc nếu không có được màu nền được thống nhất trong tế bào)?

Dưới đây là một mẫu mã của tôi (trong C#), nơi bảng là loại MigraDoc.DocumentObjectModel.Tables.Table:

... 

// Add a column at index #2 
var column = table.AddColumn(); 
column.LeftPadding = 0; 
column.RightPadding = 0; 

// Add more columns 
... 

// Iterate through the data printed in each row 
foreach (var rowData in myData) 
{ 
    // Create a row for the data 
    var row = table.AddRow(); 
    row.Height = ".75cm"; 
    row.Format.Font.Size = 11; 
    row.VerticalAlignment = VerticalAlignment.Center; 

    ... 

    // The following is for illustrative purposes... the actual 
    //  colors and text is determined by the data within the cell 
    var cell = row.Cells[2]; 
    cell.Format.Shading.Color = Colors.Black; 
    cell.Format.Font.Color = Colors.White; 
    var paragraph = cell.AddParagraph("Example"); 

    ... 
} 

Trả lời

14

Hãy thử cell.Shading.Color thay vì cell.Format.Shading.Color - bộ cựu màu sắc của các tế bào, sau này đặt màu của nền văn bản (và phần đệm của ô sẽ có màu khác).

+0

Tôi biết phải có cách để làm điều này đúng cách. Công việc hacky của tôi xung quanh là thêm một đoạn bổ sung và đặt chiều cao dòng của hai đoạn văn cho đến khi căn chỉnh theo chiều dọc khớp nhau và ô đã được lấp đầy hoàn toàn. –

Các vấn đề liên quan