我正在使用代码生成的表格和非常简单的代码在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(),为什么会发生这种情况?如何解决? 感谢。
答案 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;
}
你已经完成了。
这是因为一旦生成了表格,您就无法对其进行更改,为此,您需要先显式删除边框,然后选中复选框以复选框。