我通过用户输入生成动态表,即行和列的数量,这很好,现在我需要做的是,再次从用户输入更多列到指定行。我坚持接近,还有什么我可以尝试伸出目的地。请帮忙
用于生成动态表的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 = ".";
}
}
}
直到现在代码工作正常但我需要应用,动态添加单元格到特定行,行号将由用户自己输入。 还想检查每个&#34; tr&#34;中每个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>
答案 0 :(得分:1)
一种可能的解决方案是操纵表客户端。这样可以避免与服务器的不必要通信 根据用户输入,您可以使用jquery来操作html来实现它。
Here is a gist(代码不是我的)您获取用户输入的列和行,并根据该表格呈现表。
另一个选择是使用jquery插件来操作表。这些插件有很多(从超级简单到非常复杂),您的选择将根据您的需求和要求而定。
除了在谷歌上搜索外,您还可以看到jquery表操作插件here at jquery.com和另一个列表here的列表。