2013-02-20 59 views

回答

2

至於當我打印我的東西去研究我發現,轉換UI元素的網頁是一個錯誤的事情嘗試。打印與創建用戶界面有很大不同,並且紙張上沒有滾動條或可拖動列:)所以用於打印的數據將與表單上顯示的表單數據不同。

至於DataTable去這僅僅是數據的表現,所以你可以很容易地生產出可以打印它已經擁有的行和列,所以應該是直截了當地開始表:(注碼未測試)

System.Data.DataTable dataTable = GetDataTable(); 
var table = new Table(); 
var rowGroup = new TableRowGroup(); 
table.RowGroups.Add(rowGroup); 
var header = new TableRow(); 
rowGroup.Rows.Add(header); 

foreach (DataColumn column in dataTable.Columns) 
{ 
    var tableColumn = new TableColumn(); 
    //configure width and such 
    table.Columns.Add(tableColumn); 
    var cell = new TableCell(new Paragraph(new Run("column Header"))); 
    header.Cells.Add(cell); 
} 

foreach (DataRow row in dataTable.Rows) 
{ 
    var tableRow = new TableRow(); 
    rowGroup.Rows.Add(tableRow); 

    foreach (DataColumn column in dataTable.Columns) 
    { 
     var value = row[column].ToString();//mayby some formatting is in order 
     var cell = new TableCell(new Paragraph(new Run(value))); 
     tableRow.Cells.Add(cell); 
    } 
} 

//and print your table 

如果你問我,我覺得這個API有點冗長,但對於正確理解複雜的文件是非常強大的。

+0

感謝您的迴應,即時嘗試它現在 – nfinium 2013-02-20 09:48:02