Sollen in einem Formular nur bestimmte Felder zur Bearbeitung freigegeben sein, kann man die Eigenschaft allowEdit sämtlicher Felder der DataSource der Tabelle entsprechend umsetzen.
Einfacher geht’s mit folgendem Codebeispiel, welches in der init-Methode der DataSource eingebunden wurde und - im konkreten Fall in der Tabelle SalesLine - nur bei einem einzigen Feld die Bearbeitung erlaubt.
public void init()
{
sqlDictionary sqlDictionary;
;
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
Hinweis: Zu diesem Thema ist eine aktuellere Version verfügbar
Sollen in einem Formular nur bestimmte Felder zur Bearbeitung freigegeben sein, kann man die Eigenschaft allowEdit sämtlicher Felder der DataSource der Tabelle entsprechend umsetzen.
Einfacher geht’s mit folgendem Codebeispiel, welches in der init-Methode der DataSource eingebunden wurde und - im konkreten Fall in der Tabelle SalesLine - nur bei einem einzigen Feld die Bearbeitung erlaubt.
{
sqlDictionary sqlDictionary;
;
super();
while select sqlDictionary
where sqlDictionary.tabId == tableNum(salesLine)
&& sqlDictionary.fieldId != 0
{
if(sqlDictionary.name != "dataareaid" &&
sqlDictionary.name != "recversion" &&
sqlDictionary.name != "recId"
)
{
salesline_ds.object(sqlDictionary.fieldId).allowEdit(false);
}
}
salesline_ds.object(fieldNum(salesLine, blocked)).allowEdit(true);
}
Getestet in AX 3.0