Label eines Dialogfeldes ermitteln/auslesen

Vor kurzem wollte ich in der validate()-Methode einer von RunBase abgeleiteten Klasse ein Fehlermeldung einbauen, die als Teil das Label eines Dialogfeldes verwendet.

Dabei musste ich feststellen, daß dies gar nicht so einfach ist, wie ich es mir vorgestellt hätte.

Die verfügbare Methode dialogField.fieldControl().Label() funktioniert offenbar nur dann, wenn man dem Dialogfeldes explizit ein eigenes Label zugewiesen hat (und dieses nicht dynamisch über den EDT gezogen wird).

Deshalb im folgenden ein kurzer Job, der zeigt wie man das Label eines Dialogfeldes auslesen kann. Die gleiche Logik lässt sich natürlich u.a. auch in einer Klasse, die von RunBase/RunBaseBatch abgeleitet wurde, verwenden.

static void getDialogFieldLabel(Args _args) 
{ 
    Dialog dialog = new Dialog(); 
    DialogField df_Project; 
    DialogField df_AmountMST; 

    str getLabel(DialogField _df) 
    { 
        formStringControl fsc; 
        
        fsc = _df.fieldControl(); 
        
        return fsc.labelText(); 
    } 
     
    df_project   = dialog.addField(typeId(ProjId), "Mein Projekt"); 
    df_AmountMST = dialog.addField(typeId(AmountMST)); 
    
    dialog.run(); 

    info(getLabel(df_project)); 
    info(getLabel(df_AmountMST)); 
}
Dieser Beitrag bezieht sich auf die Version:
Dynamics AX 2009

 
 

 

 
 
 
Beiträge des aktuellen Monats
November 2024
MoDiMiDoFrSaSo
 123
45678910
11121314151617
18192021222324
252627282930 
 
© 2006-2024 Heinz Schweda | Impressum | Kontakt | English version | Mobile Version
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.  Mehr dazu