2017-08-17 47 views
-1

MigraDocでテーブルの周りに枠線を追加してセルの枠線を隠す方法はありますか?MigraDocでテーブルの周囲にどのように枠線を追加しますか?

+2

をそれを投稿していますか? – PaulF

+1

私はtable.Borders.Visible = trueを試しました。それぞれの行について、私はそれを目に見えるfalseに設定しようとしましたが、トップカラーを空に変更しようとしました。 – user629283

答えて

3

境界線のデフォルト幅は0で、境界線は表示されません。 tableがあなたのテーブルオブジェクトである場合には境界線を有効にするには、0

より大きい値を設定し、あなたがテーブルのために、各セルの境界線を設定することができますtable.Borders.Width = 0.5;

を書くことができます。セルは、下位の段で上書きされない限り、表、列、行からボーダープロパティを継承します。

TableクラスのSetEdgeメソッドもチェックしてください。

ここで説明するサンプルコード:
http://www.pdfsharp.net/wiki/Invoice-sample.ashx

私のテストコード:

private static void TabelWithBorderTest() 
{ 
    var document = new Document(); 

    // Add a section to the document. 
    var section = document.AddSection(); 

    Table table = section.AddTable(); 
    table.Borders.Width = 0.25; 
    table.Rows.LeftIndent = 0; 

    // Before you can add a row, you must define the columns 
    Column column = table.AddColumn("7cm"); 
    column.Format.Alignment = ParagraphAlignment.Left; 

    Row row = table.AddRow(); 
    row.Cells[0].AddParagraph("Text in table"); 

    // Create a renderer for the MigraDoc document. 
    var pdfRenderer = new PdfDocumentRenderer(false) { Document = document }; 

    // Associate the MigraDoc document with a renderer. 

    // Layout and render document to PDF. 
    pdfRenderer.RenderDocument(); 

    // Save the document... 
    const string filename = "TableTest.pdf"; 
    pdfRenderer.PdfDocument.Save(filename); 
    // ...and start a viewer. 
    Process.Start(filename); 
} 
+0

私はそれが仕事をしなかったことを試みた、私はtho方法を把握した。 – user629283

+0

自分の投稿に作業コードを追加しました。 –

+0

ああ、私は今すぐ動作させることができた – user629283

0

私は偽として、各行の境界線の可視性を設定することで、これを降りることに成功し、

var document = new Document(); 
    var page = document.AddSection(); 
    Table table = page.AddTable(); 
    table.Borders.Visible = true; 
    Column col = table.AddColumn("3cm"); 
    col = table.AddColumn("10cm"); 
    col = table.AddColumn("3cm"); 
    col.Format.Alignment = ParagraphAlignment.Left; 
    Row row = table.AddRow(); 
    Paragraph p = row.Cells[0].AddParagraph(); 
    p.AddFormattedText("Top header row"); 
    row.Cells[0].MergeRight = 2; 
    // then set it in visible as false like this, you can do top, left and right as well 
    row.Cells[0].Borders.Bottom.Visible = false; 

あなたはまだ何をしようとしたことがあり見栄えしませんが、誰もがよりよい解決策を持っている場合

+0

私のサンプルコードは、可視性を設定せずに動作します - デフォルト値で正常に動作します。 'p.AddFormattedText(" Top header row ");の目的は何ですか? –

+0

@PDFsharpNovice私はそれを試みたが、それは私のために働いていなかった – user629283

+0

@PDFsharpNovice私はそれがテーブルの周りのものを含むすべての境界線を削除するあなたの方法を試したとき。 p.addformattedText part - すばやくコピー&ペーストできましたが、私はその部分を太字にします。 – user629283

関連する問題