[DetailsView] Mode edit - utilisation de template dynamique
Bonjour,
J'ai un petit problème avec une de mes pages.
J'ai mis en place un DetailsView sans aucun problème pour les opérations Créer / modifier / insérer.
J'utilise de base les templates :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
<asp:TemplateField>
<HeaderTemplate>
<asp:Label runat="server" EnableViewState="false" ID="lblPlafondHeader" Text="Plafond" meta:resourcekey="lblPlafondHeader"></asp:Label><%= AjouteEtoile(true) %>
</HeaderTemplate>
<ItemTemplate>
<asp:Label runat="server" EnableViewState="false" ID="lblPlafond" Text='<%# Eval("Plafond") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" EnableViewState="false" ID="txtPlafond" Text='<%# Bind("Plafond") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox runat="server" EnableViewState="false" ID="txtPlafond" Text='<%# Bind("Plafond") %>'></asp:TextBox>
</InsertItemTemplate>
</asp:TemplateField> |
Mon problème vient du fait que je veux pouvoir afficher certain champs sans qu'ils soient modifiables en Edit, mais ceci que dans certains cas.
J'ai essayé de transférer le ItemTemplate dans le EditItemTemplate dynamiquement lors de l'évènement load de la page :
Code:
1 2 3
|
((TemplateField)FrmLigneCredit.Fields[(int)listeChamp.plafond]).EditItemTemplate =
((TemplateField)FrmLigneCredit.Fields[(int)listeChamp.plafond]).ItemTemplate; |
Ceci s'affiche très bien mais lors de l'appuie sur le bouton de mise à jour aucun évènement n'est généré et la page est simplement rechargée.
J'ai ensuite essayé d'inclure un if directement dans le EditItemTemplate, mais j'obtiens le même comportement.
Je dois avouer que je suis un peu à court d'idée.
Merci