如何复制表格控件?
table2=table1?
ASP.NET C#Visual Studio 2008表控件。
原因是它适用于字符串。假设下面的字符串是表格。
string full;
string userinput;
full = full + userinput;
答案 0 :(得分:6)
编辑:自从2010年6月回答这个问题以来,我花了很多时间使用jQuery在客户端上做这类事情。如果对这种方法感兴趣,请查看jQuery clone()和append(),after(),before()和相关方法。 结束修改
不,你不能。与任何其他控件一样,表是引用类型。这意味着复制它只是复制对真实对象实例的引用。因为它没有实现System.ICloneable
,您必须创建一个新的,然后逐个手动复制属性。
我很想知道你为什么要这样做,因为它似乎没有遵循我熟悉的任何最佳实践。你能描述一下你想要做什么吗?
您可以做的一件事是复制表的内容,虽然这不会复制其他属性,如样式和单元格填充等:
protected void CopyTable()
{
var clontable= new HtmlTable();
var mytbl = form1.FindControl("mytable") as HtmlTable;
if (mytbl != null)
{
HtmlTableRow myrow;
HtmlTableCell mycell;
for (int i = 0; i < mytbl.Rows.Count - 1; i++)
{
myrow = new HtmlTableRow();
for (int j = 0; j < mytbl.Rows[i].Cells.Count - 1; j++)
{
mycell = new HtmlTableCell();
mycell.InnerHtml = mytbl.Rows[i].Cells[j].InnerHtml;
myrow.Cells.Add(mycell);
}
clontable.Rows.Add(myrow);
}
form1.Controls.Add(clontable);
}
}