在itextsharp中添加左边框线

时间:2016-07-13 13:25:26

标签: pdf-generation itext pdf-conversion

我面临着在rowspan上工作的问题,但是在C#中使用了一些代码,我能够实现这一点。目前我有我需要的数据。

如何为第一列绘制左边框线以使其看起来正确。

这就是我现在所拥有的。

enter image description here

我需要添加左边框线。

这是我的代码:

{
        ReportTableCell cell = null;

        // prevent null values from crashing the system (always a good idea)

        if (text == null)
        {
            text = string.Empty;
        }
        // else already valid

        ReportTable.CreateReportTableCell(text, out cell);
        cell.RowSpan = row_span;
        cell.ColumnSpan = column_span;
        cell.Style.WrapText = true;
        cell.Style.BorderWidth = border_width;

      //  cell.Style.BorderColor = CellBorderColor.Gray;
        if ( repeated)
        {
          // cell.Style.Border = BOTTOM_BORDER;               
            cell.Style.BorderWidth = border_width;                
        }
        else
        {
            cell.Style.BorderWidth = 0;
            repeated = true;

        }
        cell.Style.Font.FontStyle = font_style;
        cell.Style.Font.FontSize = font_size;
        cell.Style.BackgroundColor = background_color;
        cell.Style.IsColumnHeader = is_column_header;
        cell.Style.HorizontalAlignment = horizontal_alignment;
        if (is_column_header)
        {
            cell.Style.VerticalAlignment = VerticalCellAlignment.Middle;
        }
        else
        {
            cell.Style.VerticalAlignment = VerticalCellAlignment.Top;
        }
        repeated = true;
        return cell;
    }

基于条件,即

if ( repeated){}

我正在移除边框,我知道它已经移除了4个边角的边框,我如何才能为左侧添加额外的线条。

更新:1

enter image description here

使用下面的代码后:

 if ( repeated)
        {
            cell.Style.BorderWidth = border_width;                
        }
        else
        {
            cell.Style.BorderWidth = 0;
            cell.Style.Border = BOTTOM_BORDER | LEFT_BORDER;
            repeated = true;

        }

什么都没改变!。

这是报告的基类。

public class ReportTableCell
{
    public static readonly int ALL_BORDER;
    public static readonly int BOTTOM_BORDER;
    public static readonly int LEFT_BORDER;
    public static readonly int NO_BORDER;
    public static readonly int RIGHT_BORDER;
    public static readonly int TOP_BORDER;

    public bool AllowBlanks { get; set; }
    public int ColumnSpan { get; set; }
    public ReportFont Font { get; set; }
    public int RowSpan { get; set; }
    public TableCellStyle Style { get; set; }
    public ReportTable Table { get; set; }
    public object Value { get; set; }

    public void AddImage(string FileName);
}

更新:2

我已按照您的建议更改了代码,但我只需要在最后添加单边框线。这就是我到目前为止所取得的成就:

enter image description here

0 个答案:

没有答案