如何在动态表上创建列跨度或行跨度

时间:2018-08-28 11:40:02

标签: c# asp.net

xgboost

我已经使用c#创建了一个动态表。如何使用文本框在动态表格上设置colspan?

例如,如果我在文本框中输入值3,然后单击“应用范围”按钮,则动态表的列宽应相应更改。

检查下面的图像。

我是C#的新手,请帮助

谢谢。

UI Image

1 个答案:

答案 0 :(得分:0)

HTML col-span和row-span属性由ColumnSpan类的RowSpanTableCell属性表示。

在您的代码中,应将这些属性的分配添加到TableCell tc

public void CreateRuntime_Table()
{
    int tblRows = int.Parse(txtrow.Text);
    int tblCols = int.Parse(txtcol.Text);
    //I would recommend using int.TryParse with some defaults
    int colSpan = 0;
    int rowSpan = 0;
    int.TryParse(tbColspanName.Text, out colSpan);
    int.TryParse(tbRowspanName.Text, out rowSpan);

    Table tbl = new Table();
    tbl.BorderWidth = 3;
    tbl.BorderStyle = BorderStyle.Solid;
    tbl.ID = "myTable";

    for (int i = 1; i <= tblRows; i++)
    {

        TableRow tr = new TableRow();
        for (int j = 1; j <= tblCols; j++)
        {
            TableCell tc = new TableCell()
            {
                //assign entered col / row span
                ColumnSpan = colSpan,
                RowSpan = rowSpan
            };
            TextBox txtbox = new TextBox();
            txtbox.Text = "Test Row:" + i + "Test Col:" + " " + j;
            //Add the control to the table cell
            tc.Controls.Add(txtbox);
            tr.Controls.Add(tc);
        }

        tbl.Rows.Add(tr);
    }

    form1.Controls.Add(tbl);
}