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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
public partial class WebForm3 : System.Web.UI.Page
{
private int nbrpanels = 2;
private String[] list1 = { "stanley", "florence", "capuccins", "gutenberg", "limbe" };
private String[] list2 = { "moneurone", "jesuites", "nachtigal" };
private String[] list3 = { "logone", "adzap", "benoue", "zoulou", "mezali" };
private String[] list4 = { "HiddenField", "Calendar", "ImageMap", "Label", "Literal" };
protected void Page_Load(object sender, EventArgs e)
{
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
//on génère nos controls dans une boucle!!
for (int k = 1; k <= nbrpanels; k++)
{
//ns avons un idx en ligne
DropDownList ddl = new DropDownList() { ID = "ddl" + k.ToString(), AutoPostBack = true };
ddl.Style["width"] = "240px";
//ddl.Style["padding-right"] = "15px";
ddl.Style["padding-left"] = "5px";
//ddl.CssClass
//source de données propre à ce Control!!
switch (k)
{
case 1:
ddl.DataSource = list1;
break;
case 2:
ddl.DataSource = list2;
break;
case 3:
ddl.DataSource = list3;
break;
default:
break;
}
ddl.DataBind();
ddl.SelectedIndexChanged += new EventHandler(OnSelectedIndexChanged);
//on met le titre du combox, en réalité est fourni par une propriété de l'objet
Label titre = new Label();
titre.Text = "Combox " + k.ToString();
//on met un label pour les comptes-rendus
Label label = new Label();
label.ID = "Label" + k.ToString();
label.Style["padding-left"] = "15px";
//label.CssClass
//on met tout ça dans un Panel dynamique
Panel panel = new Panel();
panel.ID = "Panel" + k.ToString();
panel.Controls.Add(titre);
panel.Controls.Add(ddl);
panel.Controls.Add(label);
//puis on intègre le tout dans le MainPanel!!
MainPanel1.Controls.Add(panel);
MainPanel1.Controls.Add(new LiteralControl("<br/>"));
}
}
protected void OnSelectedIndexChanged(object sender, EventArgs e)
{
//quel dropdownlist a émis l'evnmt??
DropDownList ddl = (DropDownList)sender;
string currentID = ddl.ID;
//isoler le (k) !!
string s1 = currentID.Substring(3);
int k = Convert.ToInt32(s1);
//pointer le "bon" panel!!
Panel panel1 = (Panel)MainPanel1.FindControl("Panel" + s1);
if (panel1 != null)
{
//récupérer le control
Label label = (Label)panel1.FindControl("Label" + s1);
if (label != null)
{
label.Text = "Et le gagnant est : " + ddl.SelectedValue;
}
}
}
} |
Partager