/ / Aggiungi controlli a una tabella html nel codice sottostante - c #, asp.net

Aggiungi i comandi a una tabella html nel codice sottostante - c #, asp.net

Ho un nome di colonna della tabella chiamato QUESTIONTEXTdove ci sono 3 domande in quella colonna. quindi, ci sono 3 righe di domande: sto aggiungendo queste domande alla prima colonna che funziona come un incantesimo. Ora, voglio aggiungere una casella di testo o una casella di controllo o un pulsante radio accanto ad essa nella stessa cella o alla colonna successiva nella stessa riga.

Ho 1 domanda.

1: Come aggiungere un controllo alla stessa riga del testo che sto aggiungendo o alla colonna successiva nella stessa riga della tabella ?.

SCENARIO: Nella stessa tabella ho la colonna QUESTIONTEXT ho anche una colonna TYPEID con dati numerici. O 1 o 2

l'idea è che saprò quale controllo generare per quella specifica domanda dal numero TYPEID

1 per il testo

2 per la casella di controllo

Posso prendere il numero in questo modo:

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

Quindi, per il primo è un 1 e voglio aggiungere una casella di testo. Devo solo generare una casella di testo o una casella di controllo.

Ecco come sto attualmente aggiungendo le domande alla prima colonna della tabella.

    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);

}
}

Ho anche creato un enum per aiutare nel processo, ma non sono sicuro che sia d'aiuto!

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

Non puoi aiutare qualcuno? per favore!

risposte:

4 per risposta № 1

prova questo per aggiungere la seconda colonna nella stessa riga

        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);

}
}