Reread parent form datasources


    FormDataSource      formDataSource;
    FormRun             callingForm;
    int                 dataSourceNo;
    Common              callingRecord;

    super();

    if (element.args().record().isFormDataSource())
    {
        callingRecord = element.args().record().data();

        callingForm = element.args().caller();

        // Reread the data sources instead of refreshing the whole query
        // as we only need to update the current record and calling research() has a huge perf impact in this case.
        // A call to active() is needed to trigger the button state update logic.
        for (dataSourceNo = 1; dataSourceNo <= callingForm.dataSourceCount(); dataSourceNo++)
        {
            formDataSource = callingForm.dataSource(dataSourceNo);

            if (    formDataSource.table() == tableNum(EcoResStorageDimensionGroupItem)
                ||  formDataSource.table() == tableNum(EcoResTrackingDimensionGroupItem)
                ||  formDataSource.table() == tableNum(InventTable))
            {
                formDataSource.reread();
                formDataSource.rereadReferenceDataSources();
                formDataSource.refresh();
                formDataSource.active();
            }
        }
    }

Search

About

DaxOnline.org is free platform that allows you to quickly store and reuse snippets, notes, articles related to Dynamics AX.

Authors are allowed to set their own AdSense units.
Join us.

Blog Tags