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 № 1prova 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);
}
}