salut,
comment ajouter un controle en devexpress et comment je fais appel aux attributs de la fenêtre en cours pour faire des tests si ce controle est activé ?
Version imprimable
salut,
comment ajouter un controle en devexpress et comment je fais appel aux attributs de la fenêtre en cours pour faire des tests si ce controle est activé ?
Pourrais tu être plus précise ? Je n'ai pas compris.
Merci
J'ai ajouté un controle qui doit être executé dans une classe (fenêtre) appelé cPrgEtObj dans la quelle je veux afficher des resultats mais rien ne s'est affiché :(
Au moment de l'execution de ce controle je dois utiliser les attribute de cette classe pour faire certains tests donc j'ai fais une instance de la classe cPrgEtObj en _PrgEt.
Est ce qu'il y a une autre manière pour que le controle connait les attribut de la fenêtre en cours sans faire une instanciation ??Code:
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 private void GénérerLignesAction_Execute(object sender, SimpleActionExecuteEventArgs e) { Session s = DevExpress.Xpo.Session.DefaultSession; s.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; if (ConfigurationManager.AppSettings["planif"].ToUpper() == "True".ToUpper()) { XPCollection client = new XPCollection(s, typeof(ABRecouv.Objects.cClientObj), CriteriaOperator.Parse("Agent.MAT_AGENT== 'Ag1' ")); //'"+new Guid()+"' client.Load(); foreach (object i in client) { //((cClientObj)i).Agent.oi if (((cClientObj)i).ST_ACTIF) { if (!((cClientObj)i).ST_BLOC) { XPCollection collection = new XPCollection(s, typeof(ABRecouv.Objects.cPosteOuvertObj), CriteriaOperator.Parse(" Client.C_CLIENT=='001' ")); collection.Load(); foreach (object item in collection) { if (((cPosteOuvertObj)item).ECH_PO == _PrgEt.DT_PRG) { if (((cPosteOuvertObj)item).ST_PO == ABRecouv.Enum.eStPosteOuvert.EnCours || ((cPosteOuvertObj)item).ST_PO == ABRecouv.Enum.eStPosteOuvert.Impayé) { _PrgEt.ST_PRG = ABRecouv.Enum.eStPrg.préparé; //le statut du PRG est préparé _PrgLg.ST_PRG_LG = ((cPosteOuvertObj)item).ST_PO.ToString(); _PrgLg.PO.ID_PO = ((cPosteOuvertObj)item).ID_PO; //Génération d'une ligne dans le programme } } } } } } s.Disconnect(); } }
Et à l'exécution quand j'arrive à cette ligne de code
Ce message d'erreur est affiché:Code:if (((cPosteOuvertObj)item).ECH_PO == _PrgEt.DT_PRG)
La référence d'objet n'est pas définie à une instance d'un objet.
Slt,
j'ai définit l'action à l'interieur de la classe et c'est résolu.
Code:
1
2
3
4 [Action] public void GénérerLignes() {...}