Bonjour,
J'ai un petit problème avec une asp:table et je ne comprend pas trop d'où viens problème. J'espère que vous pourrez m'éclairer.
Voici mon <asp:table> :
Je doit la construire à la volée suivant les choix que font les utilisateur dans un répeater juste avant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <asp:Table ID="Tab_CS" runat="server" CssClass="Centre_AspTable" ></asp:Table>
Voila mon code Behind :
Le soucis est que je peux avoir plusieurs rows dans la table je pense que vous avez compris. Sur le premier élément pas de soucis il se rajoute correctement tout est nikel. Le problème arrive lorsque je veux rajouter un second row dans la table, en fait le Tab_CS.Rows.Count ne change pas quelque soit nombre de rows que j'ajoute du coup ça écrase le premiers row.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public void VALID_CESS(object sender, RepeaterCommandEventArgs e) { RepeaterItem _ligne = e.Item; TextBox _TB_CS = (TextBox)_ligne.FindControl("TB_CS"); CheckBox _CHB_CessionOK = (CheckBox)_ligne.FindControl("CHB_CessionOK"); HiddenField _HF_id = (HiddenField)_ligne.FindControl("HF_id"); if (_CHB_CessionOK.Checked) { Tab_CS.Rows.Add(new TableRow()); Tab_CS.Rows[Tab_CS.Rows.Count - 1].Cells.Add(new TableCell()); Label _lb = new Label(); _lb.Text = _TB_CS.Text; _lb.CssClass = "REP_ContenuC_spe_G2"; _lb.ID = "LB_" + _TB_CS.Text; Tab_CS.Rows[Tab_CS.Rows.Count - 1].Cells[0].Controls.Add(_lb); Tab_CS.Rows[Tab_CS.Rows.Count - 1].Cells.Add(new TableCell()); TextBox _tb = new TextBox(); _tb.CssClass = "REP_ContenuC_spe_G2"; _tb.ID = "TB_val_" + _TB_CS.Text; Tab_CS.Rows[Tab_CS.Rows.Count - 1].Cells[1].Controls.Add(_tb); Tab_CS.Rows[Tab_CS.Rows.Count - 1].Cells.Add(new TableCell()); ListBox _lst_per = new ListBox(); _lst_per.CssClass = "REP_ContenuC_spe_G2"; _lst_per.Rows = 1; _lst_per.DataSource = datasource1; _lst_per.DataTextField = "text"; _lst_per.DataValueField = "value"; _lst_per.DataBind(); _lst_per.Items.Insert(0, ""); _lst_per.ID = "LST_per_" + _TB_CS.Text; Tab_CS.Rows[Tab_CS.Rows.Count - 1].Cells[2].Controls.Add(_lst_per); Tab_CS.Rows[Tab_CS.Rows.Count - 1].Cells.Add(new TableCell()); ListBox _lst_mod = new ListBox(); _lst_mod.CssClass = "REP_ContenuC_spe_G2"; _lst_mod.Rows = 1; _lst_mod.DataSource = datasource2; _lst_mod.DataTextField = "text"; _lst_mod.DataValueField = "value"; _lst_mod.DataBind(); _lst_mod.Items.Insert(0, ""); _lst_mod.ID = "LST_mod_" + _TB_CS.Text; Tab_CS.Rows[Tab_CS.Rows.Count - 1].Cells[3].Controls.Add(_lst_mod); Tab_CS.Rows[Tab_CS.Rows.Count - 1].Cells.Add(new TableCell()); ListBox _lst_rgl = new ListBox(); _lst_rgl.CssClass = "REP_ContenuC_spe_G2"; _lst_rgl.Rows = 1; _lst_rgl.DataSource = datasource3; _lst_rgl.DataTextField = "text"; _lst_rgl.DataValueField = "value"; _lst_rgl.DataBind(); _lst_rgl.Items.Insert(0, ""); _lst_rgl.ID = "LST_rgl_" + _TB_CS.Text; Tab_CS.Rows[Tab_CS.Rows.Count - 1].Cells[4].Controls.Add(_lst_rgl); Tab_CS.Visible = true; } }
J'espère que c'est claire car c'est pas évident à expliqué ^^ si vous avez une idée du problème cela m'aiderais beaucoup.
Merci d'avance.
Partager