复制HtmlTable的第一行。
protected void Button2_Click(object sender, EventArgs e)
{
HtmlTable table = t3;
HtmlTableRow tr_old =t3.Rows[0];//被复制的row
HtmlTableRow tr_new = new HtmlTableRow();//新的一行(row)
//为新的一行的每个cell复制
for (int i = 0; i < tr_old.Cells.Count; i++)
{
HtmlTableCell tc = new HtmlTableCell();
tc.InnerHtml = tr_old.Cells[i].InnerHtml;
tr_new.Cells.Add(tc);
}
table.Rows.Add(tr_new);//将新的一行添加到table中
}两个问题:
1)点击button,可以为HtmlTable复制一行,再点击一次则没有变化,怎么回事?
2)当HtmlTable的cell中有asp控件时,则tc.InnerHtml = tr_old.Cells[i].InnerHtml;这句异常,提示
无法获取 的内部内容,因为该内容不是文本。
什么原因?
protected void Button2_Click(object sender, EventArgs e)
{
HtmlTable table = t3;
HtmlTableRow tr_old =t3.Rows[0];//被复制的row
HtmlTableRow tr_new = new HtmlTableRow();//新的一行(row)
//为新的一行的每个cell复制
for (int i = 0; i < tr_old.Cells.Count; i++)
{
HtmlTableCell tc = new HtmlTableCell();
tc.InnerHtml = tr_old.Cells[i].InnerHtml;
tr_new.Cells.Add(tc);
}
table.Rows.Add(tr_new);//将新的一行添加到table中
}两个问题:
1)点击button,可以为HtmlTable复制一行,再点击一次则没有变化,怎么回事?
2)当HtmlTable的cell中有asp控件时,则tc.InnerHtml = tr_old.Cells[i].InnerHtml;这句异常,提示
无法获取 的内部内容,因为该内容不是文本。
什么原因?
给它设个ID就可以了,viewstate都是通过ID来进行动态加载的
{
if (ViewState["Count"] != null)
{
for (int i = 0; i < Convert.ToInt16(ViewState["Count"]); i++)
{
AddRow();
}
}
if (!IsPostBack)
{
ViewState["Count"] = 0;
} }
protected void Button1_Click(object sender, EventArgs e)
{
AddRow();
ViewState["Count"] = Convert.ToInt16(ViewState["Count"]) + 1;
} private void AddRow()
{
HtmlTable table = t3;
HtmlTableRow tr_old = t3.Rows[0];//被复制的row
HtmlTableRow tr_new = new HtmlTableRow();//新的一行(row)
//为新的一行的每个cell复制
for (int i = 0; i < tr_old.Cells.Count; i++)
{
HtmlTableCell tc = new HtmlTableCell();
tc.InnerHtml = tr_old.Cells[i].InnerHtml;
tr_new.Cells.Add(tc);
}table.Rows.Add(tr_new);//将新的一行添加到table中
}
修改该table的第一行,修改后,再加一行(与第一行的一样,内容是空白或者预先指定的内容),修改完后再加一行,如此循环。
要求以前增加的行的内容不能丢失。