Bonjour,
J'ai une gridview avec plusieurs champs TemplateField pour les modifier.
J'utilise une datatable stockée dans le cache pour alimenter ma gridview.
Ma datatable se remplit correctement = 3 lignes par exemple.
Mais lorsque j'essaie de la lier à la gridview, celle-ci ne m'affiche que la dernière ligne ?! Les 2 premières n'apparaîssent pas![]()
Avez-vous une idée ?
Pour vous aider voici mon code :
GridView :
Voici ma datatable :
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 <asp:GridView ID="gvwCategories" runat="server" AutoGenerateColumns="False" AllowPaging="true" CellPadding="4" DataKeyNames="IDCAT"> <Columns> <asp:BoundField HeaderText="Désignation" DataField="DESIGNATION"/> <asp:TemplateField HeaderText="Client"> <ItemTemplate> <asp:TextBox ID="txtClient" Text='<%#DataBinder.Eval(Container.DataItem,"CLIENT")%>' runat="server" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Seuil"> <ItemTemplate> <asp:TextBox ID="txtSeuil" Text='<%#DataBinder.Eval(Container.DataItem,"SEUIL")%>' runat="server" MaxLength="3" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="Coefficient"> <ItemTemplate> <asp:TextBox ID="txtCoefficient" Text='<%#DataBinder.Eval(Container.DataItem,"COEFFICIENT")%>' runat="server" MaxLength="3" /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>
Voilà. J'espère que vous pourrez m'aider. Merci.
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 Dim dttCategories As New DataTable dttCategories = Cache.Get("dttCat" & Session.SessionID) 'Si les données sont chargées pour la première fois If insertData = True Then Dim myDataRow As DataRow Dim myCon As New clsDatabase("MABASE") Dim dtsCategories As DataSet = myCon.createDataSet("SELECT * FROM CATEGORIE ORDER BY DESIGNATION", "tabCat") Dim dtvCatRef As DataView = dtsCategories.Tables("tabCat").DefaultView 'On complète la dataTable en fonction des catégories sélectionnées For Each myItem As ListItem In chlCategories.Items 'Si la catégorie est sélectionnée If myItem.Selected = True Then '1. On vérifie qu'elle n'existe pas dans la datable Dim dtvCatSel As DataView = dttCategories.DefaultView dtvCatSel.RowFilter = "IDCAT = '" & myItem.Value & "'" 'Si elle n'existe pas, on l'ajoute à la DataTable If dtvCatSel.Count = 0 Then '2. On ajoute la catégorie à la DataTable dtvCatRef.RowFilter = "IDCAT = '" & myItem.Value & "'" For Each myRow As DataRowView In dtvCatRef myDataRow = dttCategories.NewRow myDataRow("IDCAT") = myRow("IDCAT") myDataRow("DESIGNATION") = myRow("DESIGNATION") myDataRow("SEUIL") = myRow("SEUIL") myDataRow("COEFFICIENT") = myRow("COEFFICIENT") dttCategories.Rows.Add(myDataRow) Next End If End If Next Cache.Insert("dttCat" & Session.SessionID, dttCategories) End If gvwCategories.DataSource = dttCategories gvwCategories.DataBind()![]()
Partager