Bonjour,
Je voudrais rendre le nombre d'enregistrements affichés par page paramétrable, je l'ai donc stocké dans ma base de données mais je ne vois pas comment modifier dynamiquement cette valeur dans le XMLGram.
Bonjour,
Je voudrais rendre le nombre d'enregistrements affichés par page paramétrable, je l'ai donc stocké dans ma base de données mais je ne vois pas comment modifier dynamiquement cette valeur dans le XMLGram.
Je pense qu'il va faloir ajouter du code dans ta dll.
Dans le "BeforeXMLGram" le code suivant doit te mettre sur la piste :
Lux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 var Inst : IXMLInstruction; DBE : TDBExtract; begin Inst := XMLGram.GetXMLInstruction('TONEXTRACTSQL'); DBE := TDBExtract(Inst.Get_ObjectReference); //Exemple d'affectation du paramètre MaxRows du DBExtract DBE.MaxRows := strtointdef(Context.GetValue('MAXROWS_PAREXEMPLE'),10); end;
La solution que fournit Lux Interior me semble tout à fait correcte. Mais ce qui se serait le mieux, ce serait de pouvoir utiliser la syntaxe {$MaxRows} pour la propriété MaxRows du DBExtract comme pour le Statement. Je vais leur soumettre ça.
Julien C.
En effet, ca semble pas mal mais XMLGram.GetXMLInstruction('TONEXTRACTSQL') me retourne toujours nil, c'est bien ce qu'il fallait mettre ?
En fait, j'ai fait comme indiqué sur xmlrad.com :
procedure TModule.ActionBeforeInstruction(
XMLInstruction: IXMLInstruction; InputDoc, OutputDoc, Input,
Output: IXMLCursor; var Skip: Boolean);
var
DBE : TDBExtract;
begin
if XMLInstruction.Name = 'LISTEARTICLES' then
begin
DBE := TDBExtract(XMLInstruction.Get_ObjectReference);
DBE.MaxRows := 10;
end;
end;
Merci de m'avoir mis sur la voie![]()
Je me demande s'il n'y a pas un poil plus simple![]()
C'est possible de passer dans le Context la valeur NOMDBEXTRACT_MaxRows=20
Par exemple, sur le dbextract publishers, on passe publishers_maxrows=3 et zou !
Pour un test sur la demo pubs
http://localhost/DemosBin/Pubs/Pubs....hers_maxrows=3
Nicolas
Rooh bien vu l'aveugle ! J'avais pas du tout pensé à ca!
Julien C.
Ah oui, e-delos recommande certaines techniques quant au changement dynamique de la propriété MaxRows :
http://e-delos.com/DownloadBin/Downl...S_ID=102021635
Julien C.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager