创建表编程 [英] create table programmatically

查看:151
本文介绍了创建表编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 我使用的是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);


//总行数。
int rowCnt;
//当前行计数。
int rowCtr;
//每行的单元格总数(列)。
int cellCtr;
//当前单元格计数器
int cellCnt;

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

for(rowCtr = 1; rowCtr< = rowCnt; rowCtr ++)
{
//创建新行并将其添加到表中。
DevExpress.XtraReports.UI.XRTableRow row = new XRTableRow();
tbl.Rows. Add(row);
for(cellCtr = 1; cellCtr< = cellCnt; cellCtr ++)
{
//创建一个新单元格并将其添加到行。
DevExpress.XtraReports.UI.XRTableCell cell = new XRTableCell();
cell.Text =Row+ rowCtr +,Cell+ cellCtr;
row.Cells.Add(cell);
}
}



我尝试这个代码bur最后一行是困惑!所有的电缆都在第一个电池上。 表格结果如下



解决方案

不确定是否会有帮助,但尝试移动 tbl.Rows .Add(row); 部分如下:

  for(rowCtr = 1; rowCtr< = rowCnt; rowCtr ++)
{
//创建新行..
DevExpress.XtraReports.UI.XRTableRow row = new XRTableRow();

for(cellCtr = 1; cellCtr< = cellCnt; cellCtr ++)
{
//创建一个新单元格并将其添加到行。
DevExpress.XtraReports.UI.XRTableCell cell = new XRTableCell();
cell.Text =Row+ rowCtr +,Cell+ cellCtr;
row.Cells.Add(cell);
}

// ..并将其添加到表中。
tbl.Rows.Add(row);
}


I am working on devexreport and I want to create a table programmatically I use these codes but have a little problem.

        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);
            }
        }

I try this code bur the last row is confused! all of the cels are on first cell. The table result is like this

what is wrong?

解决方案

Not sure if it will help, but try moving tbl.Rows.Add(row); part like this:

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);
}

这篇关于创建表编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆