Создать таблицу программно - PullRequest
3 голосов
/ 18 августа 2011

Я работаю над 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);
            }
        }

Я пытаюсь этот код, но последняя строка перепутана! все клетки находятся на первой клетке.

The table result is like this

Что не так?

1 Ответ

3 голосов
/ 22 августа 2011

Не уверен, что это поможет, но попробуйте переместить 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);
}
...