asp.net中代码构建表中的属性

时间:2013-01-05 01:50:07

标签: c# asp.net

我正在使用代码生成的表格和非常简单的代码在asp.net上进行练习:

protected void btnAceptar_Click(object sender, EventArgs e)
    {
        tblGenerar.Controls.Clear();            

        for(int i = 0; i < Convert.ToInt32(txtRows.Text);i++)
        {
            TableRow rowNew = new TableRow();
            tblGenerar.Rows.Add(rowNew);

            for (int j = 0; j < Convert.ToInt32(txtCols.Text);j++ )
            {
                TableCell cellNew = new TableCell();
                rowNew.Cells.Add(cellNew);
                cellNew.Text = txtTexto.Text;

                if (chkMargen.Checked == true)
                {
                    cellNew.BorderStyle = BorderStyle.Inset;
                    cellNew.BorderWidth = 1;
                }
            }
        }
    }

我第一次选择在桌面上创建边框时,它可以正常工作,但下次我选择生成没有边框的表格时,上次生成的表格中的边框仍然存在。显示没有边框的其他单元格。

如果我使用Controls.Clear(),为什么会发生这种情况?如何解决? 感谢。

1 个答案:

答案 0 :(得分:0)

将else条件放入代码中。

        else
        {
            cellNew.BorderStyle = BorderStyle.None;
            cellNew.BorderWidth = 0;
        }

或者您可以执行以下操作。

cellNew.BorderStyle = BorderStyle.None;
                    if (chkMargen.Checked == true)
                    {
                        cellNew.BorderStyle = BorderStyle.Inset;
                        cellNew.BorderWidth = 1;
                    }

你已经完成了。

这是因为一旦生成了表格,您就无法对其进行更改,为此,您需要先显式删除边框,然后选中复选框以复选框。