Bonjour tout le monde,
j'ai un souci avec une gridView qui met du temps a s'afficher.
Dans les faits, si je fait une pagination avec pagesize=100, tout va bien, mais si j'affiche au dessus de cette valeur, ca rame fortement.
Je me suis rendu compte que le probleme venait d'une colonne constituée d'un item template , de hiddenfields, textbox et un regularExpressionValidator.
voici le code de la colonne :
Quand je retire l'appel au javascript de la propriété onchange ET le regularExpressionValidator, l'affichage est instantané.
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 <asp:TemplateField FooterStyle-HorizontalAlign="right" HeaderText="<%$ Resources:GL, gl_objectifs_valides %>" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="10%"> <ItemTemplate> <div> <asp:HiddenField ID="hdfGlTerrainId" Value='<%#Eval("gl_terrain_id") %>' runat="server" /> <asp:HiddenField ID="hdfGlPerimetreId" Value='<%#Eval("gl_perimetre_id") %>' runat="server" /> <asp:HiddenField ID="hdfGlRayonId" Value='<%#Eval("gl_rayon_id") %>' runat="server" /> <asp:Image ID="cadenas" runat="server" ImageUrl='~/style/1/images/pic_cadenas_on.gif' Visible='<%# bool.Parse(Eval("est_valide").ToString()) %>' /> <asp:TextBox ID="txtObjectifValide" Style="text-align: right;" runat="server" Text='<%# this.AfficheMontant(Eval("objectif_valide")) %>' ValidationGroup="update" width="60%" Enabled='<%# !bool.Parse(Eval("est_valide").ToString()) %>' onchange="jsChangeIndice(this.id, 'txtObjectifValide')" /> <%# this.SumObjectifs(Eval("objectif_valide")) %> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="<%$ Resources:GL,gl_champs_obligatoirs %>" ControlToValidate="txtObjectifValide" ValidationGroup="update" ValidationExpression="<%$ Resources:GL,gl_regex_montant %>" /> </div> </ItemTemplate> <FooterTemplate> <%# this.AfficheMontant(this.TotalObjectif) %> </FooterTemplate> </asp:TemplateField>
Est ce que je m'y suis mal pris ?
Est ce qu'un regularExpressionValidator est un procédé a éviter ?
Dois je renoncer au javascript ?
J'avoue être un peu perdu la....
voici le javascript :
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 function jsChangeIndice(id,inputName) { var prefix = id.replace (inputName, ''); var valObj = document.getElementById(prefix+"txtObjectifValide"); var valIndice = document.getElementById(prefix+"indice_temp"); var valCA = document.getElementById(prefix+"Label1"); var newCA = valCA.value.replace(/\s+/g,''); newCA = newCA.replace(/ /g, ""); var newObj = valObj.value.replace(/\s+/g,''); newObj = newObj.replace(/ /g, ""); var p=eval(newObj/newCA*100); valIndice.innerText=p.toFixed(1); }
Merci à tous pour votre attention.
Edit:
le calcul prend 100% d'un cœur de mon proc pour afficher le rendu.
Ca retombe a 3% une fois terminée.
Partager