1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
protected void Page_Load(object sender, EventArgs e) {
if(!Page.IsPostBack) {
DataTable dt = new DataTable();
dt.Columns.Add("Question");
dt.Columns.Add("Answers");
dt.Rows.Add(new object[] { "Comment on affiche un TextBox dans un repeater ?", "" });
dt.Rows.Add(new object[] { "Comment on affiche une RadioButtonList dans un repeater ?", "Réponse 1, Réponse 2, Réponse 3" });
myrepeater.DataSource = dt;
myrepeater.ItemDataBound += new RepeaterItemEventHandler(myrepeater_ItemDataBound);
myrepeater.DataBind();
}
}
private void myrepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) {
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
DataRowView dr = (DataRowView)e.Item.DataItem;
string answers = ((string)dr["Answers"]).Trim();
if(answers == null || answers.Length == 0) {
RadioButtonList rbl = (RadioButtonList)e.Item.FindControl("rblanswer");
rbl.Visible = false;
} else {
RadioButtonList rbl = (RadioButtonList)e.Item.FindControl("rblanswer");
TextBox tb = (TextBox)e.Item.FindControl("tbanswer");
tb.Visible = false;
string[] sanswers = answers.Split(',');
for(int i = 0 ; i < sanswers.Length ; i++) {
rbl.Items.Add(new ListItem(sanswers[i].Trim()));
}
}
}
}
protected void button_Click(object sender, EventArgs e) {
for(int i = 0 ; i < myrepeater.Items.Count ; i++) {
Label question = (Label)myrepeater.Items[i].FindControl("lblquestion");
RadioButtonList rbl = (RadioButtonList)myrepeater.Items[i].FindControl("rblanswer");
TextBox tb = (TextBox)myrepeater.Items[i].FindControl("tbanswer");
resultats.Text += "<br /><b>" + question.Text + "</b></br>Résultat : ";
resultats.Text += rbl.Visible == true ? rbl.SelectedItem == null ? "" : rbl.SelectedItem.Text : tb.Text;
}
} |
Partager