在后面的代码中添加控件到html表

时间:2012-03-10 02:03:21

标签: c# asp.net

我有一个名为QUESTIONTEXT的表列名称,该列中有3个问题。所以,有3行问题。我将这些问题添加到第一列,它就像一个魅力。现在,我想在同一单元格中的旁边添加一个文本框或复选框或单选按钮,或者添加到同一行中的下一列。

我有一个问题。

1:如何将控件添加到与我当前添加的文本相同的行中,或者添加到表中同一行的下一列?

情景:在同一个表中,我有QUESTIONTEXT列,我还有一个带有数字数据的TYPEID列。 1或2

我的想法是,我将知道TYPEID号码为该特定问题生成什么控件

1表示文字

2表示复选框

我可以抓住这样的数字:

if (dataRow["TYPEID"].ToString() == "1")

所以,对于第一个,它是1,我想添加一个文本框。我只需要生成一个文本框或复选框。

以下是我目前如何将问题添加到表格的第一列。

    TableRow tableRow;
        TableCell tableCell;
        foreach (DataTable dataTable in ds.Tables)
        {
            foreach (DataRow dataRow in dataTable.Rows)
            {
                tableRow = new TableRow();
                tableCell = new TableCell();

               TableRow tableRow2 = new TableRow();
                TableCell tableCel2 = new TableCell();

                tableCell.Text = dataRow["QUESTIONTEXT"].ToString();

                if (dataRow["TYPEID"].ToString() == "1")

                tableRow.Cells.Add(tableCell);
                myTable.Rows.Add(tableRow);

            }
        }

我还创建了一个枚举来帮助这个过程,但不确定它是否会有所帮助!

public enum typeID : byte
    {
        text = 1,
        multiple_choice = 2
    };

不能有人帮忙吗?请!

1 个答案:

答案 0 :(得分:5)

尝试在同一行中添加第二列

        TableRow tableRow;
        TableCell tableCell;
        TableCell tableCell2;
        foreach (DataTable dataTable in ds.Tables)
        {
            foreach (DataRow dataRow in dataTable.Rows)
            {
                tableRow = new TableRow();
                tableCell = new TableCell();
                tableCell.Text = dataRow["QUESTIONTEXT"].ToString();


                tableCell2 = new TableCell();
                switch (dataRow["TYPEID"].ToString())
                {
                    case "1":
                        Label lbl = new Label();
                        lbl.Text = "";
                        tableCell2.Controls.Add(lbl);
                        break;
                    case "2":
                        CheckBox chk = new CheckBox();
                        chk.Text = "";
                        tableCell2.Controls.Add(chk);
                        break;
                }

                tableRow.Cells.Add(tableCell);
                tableRow.Cells.Add(tableCell2);
                myTable.Rows.Add(tableRow);

            }
        }