如何使用colspan为动态生成的html添加更多单元格?

时间:2015-03-18 13:23:25

标签: c# html asp.net

我通过用户输入生成动态表,即行和列的数量,这很好,现在我需要做的是,再次从用户输入更多列到指定行。我坚持接近,还有什么我可以尝试伸出目的地。请帮忙

用于生成动态表的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">&nbsp;</td>
          <td align="left" valign="top" width="646"></td>
          <td align="left" valign="top" width="23">&nbsp;</td>
        </tr>
       <tr>
          <td align="left" valign="top" width="31" colspan="3"></td>
        </tr>
    </table>

1 个答案:

答案 0 :(得分:1)

一种可能的解决方案是操纵表客户端。这样可以避免与服务器的不必要通信 根据用户输入,您可以使用jquery来操作html来实现它。

Here is a gist(代码不是我的)您获取用户输入的列和行,并根据该表格呈现表。

另一个选择是使用jquery插件来操作表。这些插件有很多(从超级简单到非常复杂),您的选择将根据您的需求和要求而定。

除了在谷歌上搜索外,您还可以看到jquery表操作插件here at jquery.com和另一个列表here的列表。