【发布时间】:2015-03-18 13:23:24
【问题描述】:
我正在通过用户输入生成动态表,即行数和列数,这工作正常,现在我需要做的是,再次从用户那里获取输入以向指定行添加更多列。我坚持接近,还有什么我可以尝试到达目的地。请帮忙
生成动态表的CS文件代码:
public void create_table( int row, int col)
{
int row = Convert.ToInt32(txtrow.Text); // No. of Rows
int col = Convert.ToInt32(txtcol.Text);
for (int i = 0; i < row; i++)
{
HtmlTableRow rows = new HtmlTableRow(); //a new Row
for (int j = 0; j < col; j++)
{
HtmlTableCell cell = new HtmlTableCell(); //a new Cell
//cell.InnerHtml = i + "," + j; //Insert Data into Cell
cell.Align = "Center";
Label lbl = new Label();
//htmlTable1.Controls.Add(t
//create_label(j,i);
cell.ID = i + "," + j;
rows.ID = Convert.ToString(i);
int rowncount = rows.Controls.Count;
int columncount = rows.Controls.Count;
//lbl1.Text = Convert.ToString();
cell.BgColor = "red";
// cell.Width = "700px";
htmlTable1.Width = "700px";
htmlTable1.Border = 0;
htmlTable1.CellPadding = 0;
htmlTable1.CellSpacing = 5;
rows.Cells.Add(cell);
// rows.Cells.Add(cell);
htmlTable1.Rows.Add(rows);
cell.Controls.Add(lbl);
lbl.Text = i + "," + j;
lbl.ID = i + "," + j;
//cell.InnerHtml = ".";
}
}
}
到目前为止,代码工作正常,但我需要申请,将单元格动态添加到特定行,行号将由用户自己输入。 还想检查每个“tr”中每个 td 的宽度 新方法受到高度赞赏。
NEED Out Put:
<table border="0" cellpadding="0" cellspacing="0" width="700">
<tr>
<td align="left" valign="top" width="31"> </td>
<td align="left" valign="top" width="646"></td>
<td align="left" valign="top" width="23"> </td>
</tr>
<tr>
<td align="left" valign="top" width="31" colspan="3"></td>
</tr>
</table>
【问题讨论】:
-
您为什么不使用像
GridView这样的Web 数据绑定控件和像DataTable这样的数据源,这会让您的生活更轻松。另外,为什么需要固定宽度? -
我没有使用gridview,因为也没有包含数据库,主要动机是生成一个动态表,并为该表获取HTML。具有固定宽度的原因是,在不同的
. 中填充图像 您不需要数据库就可以使用GridView或DataTable。然而,真正的问题是什么?你在哪里卡住了?您提到“到目前为止代码运行良好”,但是您的新需求有什么困难?我一直在坚持如何满足这一要求。我需要创建一个动态表并获取该 HTML 表的代码。无论添加多少行和列。关于您的代码的一些注意事项 1.您的表格样式(如颜色、填充)应位于 CSS 文件中,而不是 C# 代码中 2. 最好为您的 htmlTable1 设置有意义的名称变量