Descriptor (TQueryExecuteTask)
De Wiki1000
(Différences entre les versions)
(Page créée avec « <source lang='delphi'>property Descriptor:TfwxmlDocument;</source> Cette propriété contient le descriptif d'exportation. Exemple : <source lang="delphi"> </source> V... ») |
|||
Ligne 1 : | Ligne 1 : | ||
+ | __NOTOC__ | ||
<source lang='delphi'>property Descriptor:TfwxmlDocument;</source> | <source lang='delphi'>property Descriptor:TfwxmlDocument;</source> | ||
Cette propriété contient le descriptif d'exportation. | Cette propriété contient le descriptif d'exportation. | ||
+ | |||
+ | Un descriptif d'exportation à trois sections principales : | ||
+ | |||
+ | ===queries=== | ||
+ | Cette section est une collection de requêtes (query) | ||
+ | |||
+ | ===query=== | ||
+ | Cette section décrit une requête | ||
+ | |||
+ | ===output=== | ||
+ | Cette section décrit la destination de l'export | ||
+ | |||
+ | ===exporter=== | ||
+ | Cette section décrit le formatage des données exportées. | ||
Exemple : | Exemple : | ||
+ | |||
+ | '''Création dynamique de descriptif d'exportation :''' | ||
<source lang="delphi"> | <source lang="delphi"> | ||
+ | //Function CreateDescriptor():TxmlDocument; | ||
+ | var itr,itqs,itq,itt,itcs,itc,itu,itvs,itv:TxmlItem; | ||
+ | begin | ||
+ | Result := TxmlDocument.Create(nil); | ||
+ | itr := TxmlItem.Create(Result); | ||
+ | itr.ItemName := 'root'; | ||
+ | // | ||
+ | itqs := itr.AddItem('queries'); | ||
+ | itq := itqs.AddItem('query'); | ||
+ | itq.AddItems(['QueryName','ClassName'],['main','WfClasseA']); | ||
+ | // | ||
+ | itt := itr.addItem('output'); | ||
+ | itt.AddItemText('ExportColumns','true'); | ||
+ | itcs := itt.AddItem('columns'); | ||
+ | // | ||
+ | itc := itcs.AddItem('column'); | ||
+ | itc.AddItems(['PropName','Title'],['unCode','Code']); | ||
+ | // | ||
+ | itc := itcs.AddItem('column'); | ||
+ | itc.AddItems(['PropName','Title'],['unBool','Boolean']); | ||
+ | itvs := itc.AddItem('values'); | ||
+ | // | ||
+ | itv := itvs.AddItem('value'); | ||
+ | itv.AddAttribute('oldValue','N'); | ||
+ | itv.AddAttribute('newValue','false'); | ||
+ | // | ||
+ | itv := itvs.AddItem('value'); | ||
+ | itv.AddAttribute('odlValue','O'); | ||
+ | itv.AddAttribute('newValue','true'); | ||
+ | |||
+ | itc := itcs.AddItem('column'); | ||
+ | itc.AddItems(['PropName','Title'],['unCompteur','Compteur']); | ||
+ | |||
+ | itc := itcs.AddItem('column'); | ||
+ | itc.AddItems(['PropName','Title'],['unEntier','Entier']); | ||
+ | |||
+ | itc := itcs.AddItem('column'); | ||
+ | itc.AddItems(['PropName','Title'],['unEtat','Enuméré']); | ||
+ | |||
+ | itc := itcs.AddItem('column'); | ||
+ | itc.AddItems(['PropName','Title'],['unDouble','Double']); | ||
+ | |||
+ | itu := itr.AddItem('exporter'); | ||
+ | itu.AddItems(['ClassName'],['TCSVExporter']); | ||
+ | end; | ||
</source> | </source> | ||
+ | |||
+ | '''Affectation du descriptif à l'instance :''' | ||
+ | |||
+ | <source lang="delphi"> | ||
+ | //Procedure Test; | ||
+ | var qbe:TQueryExecuteTask; doc:TxmlDocument; | ||
+ | begin | ||
+ | qbe := TQueryExecuteTask.Create; | ||
+ | |||
+ | doc := CreateDescriptor(); | ||
+ | AStr := doc.SaveToString; | ||
+ | |||
+ | // Do not create the descriptor directly inside the Descriptor.document | ||
+ | // instead, use an intermediate document. | ||
+ | // This will recreate the document with the correct internal item classes | ||
+ | // | ||
+ | qbe.Descriptor.Document.LoadFromString(AStr); | ||
+ | |||
+ | ... | ||
+ | end; | ||
+ | </source> | ||
+ | |||
Voir aussi: | Voir aussi: |
Version du 14 janvier 2020 à 16:33
property Descriptor:TfwxmlDocument;
Cette propriété contient le descriptif d'exportation.
Un descriptif d'exportation à trois sections principales :
queries
Cette section est une collection de requêtes (query)
query
Cette section décrit une requête
output
Cette section décrit la destination de l'export
exporter
Cette section décrit le formatage des données exportées.
Exemple :
Création dynamique de descriptif d'exportation :
//Function CreateDescriptor():TxmlDocument; var itr,itqs,itq,itt,itcs,itc,itu,itvs,itv:TxmlItem; begin Result := TxmlDocument.Create(nil); itr := TxmlItem.Create(Result); itr.ItemName := 'root'; // itqs := itr.AddItem('queries'); itq := itqs.AddItem('query'); itq.AddItems(['QueryName','ClassName'],['main','WfClasseA']); // itt := itr.addItem('output'); itt.AddItemText('ExportColumns','true'); itcs := itt.AddItem('columns'); // itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unCode','Code']); // itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unBool','Boolean']); itvs := itc.AddItem('values'); // itv := itvs.AddItem('value'); itv.AddAttribute('oldValue','N'); itv.AddAttribute('newValue','false'); // itv := itvs.AddItem('value'); itv.AddAttribute('odlValue','O'); itv.AddAttribute('newValue','true'); itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unCompteur','Compteur']); itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unEntier','Entier']); itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unEtat','Enuméré']); itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unDouble','Double']); itu := itr.AddItem('exporter'); itu.AddItems(['ClassName'],['TCSVExporter']); end;
Affectation du descriptif à l'instance :
//Procedure Test; var qbe:TQueryExecuteTask; doc:TxmlDocument; begin qbe := TQueryExecuteTask.Create; doc := CreateDescriptor(); AStr := doc.SaveToString; // Do not create the descriptor directly inside the Descriptor.document // instead, use an intermediate document. // This will recreate the document with the correct internal item classes // qbe.Descriptor.Document.LoadFromString(AStr); ... end;
Voir aussi: