2011-08-18 127 views
3

我在devexreport上工作,我想以編程方式創建表我使用這些代碼但有一點問題。以編程方式創建表

 DevExpress.XtraReports.UI.XRTable tbl = new XRTable();  
     DevExpress.XtraReports.UI.XRBarCode xrBarCode = new XRBarCode(); 

     Detail1.Controls.Add(tbl); 

     tbl.Location = new System.Drawing.Point(358, 17); 
     tbl.Size = new System.Drawing.Size(358, 50); 
     tbl.Borders = (DevExpress.XtraPrinting.BorderSide) 
      (((DevExpress.XtraPrinting.BorderSide.Left 
      | DevExpress.XtraPrinting.BorderSide.Top) 
      | DevExpress.XtraPrinting.BorderSide.Right) 
      | DevExpress.XtraPrinting.BorderSide.Bottom); 


     // Total number of rows. 
     int rowCnt; 
     // Current row count. 
     int rowCtr; 
     // Total number of cells per row (columns). 
     int cellCtr; 
     // Current cell counter 
     int cellCnt; 

     rowCnt = int.Parse("2"); 
     cellCnt = int.Parse("3"); 

     for (rowCtr = 1; rowCtr <= rowCnt; rowCtr++) 
     { 
      // Create new row and add it to the table. 
      DevExpress.XtraReports.UI.XRTableRow row = new XRTableRow(); 
      tbl.Rows.Add(row); 
      for (cellCtr = 1; cellCtr <= cellCnt; cellCtr++) 
      { 
       // Create a new cell and add it to the row. 
       DevExpress.XtraReports.UI.XRTableCell cell = new XRTableCell(); 
       cell.Text = "Row " + rowCtr + ", Cell " + cellCtr; 
       row.Cells.Add(cell); 
      } 
     } 

我試試這段代碼bur最後一行很困惑!所有的細胞都在第一個細胞上。

The table result is like this

有什麼不對?

回答

3

不知道是否會有所幫助,但嘗試移動tbl.Rows.Add(row);部分是這樣的:

for (rowCtr = 1; rowCtr <= rowCnt; rowCtr++) 
{ 
    // Create new row.. 
    DevExpress.XtraReports.UI.XRTableRow row = new XRTableRow(); 

    for (cellCtr = 1; cellCtr <= cellCnt; cellCtr++) 
    { 
     // Create a new cell and add it to the row. 
     DevExpress.XtraReports.UI.XRTableCell cell = new XRTableCell(); 
     cell.Text = "Row " + rowCtr + ", Cell " + cellCtr; 
     row.Cells.Add(cell); 
    } 

    // ..and add it to the table. 
    tbl.Rows.Add(row); 
} 
+0

謝謝你幫助不夠.. – Rapunzo