Tuesday, April 8, 2025

My requirement is that the grid fields should not be editable for a particular formdatasource.

Based on the condition, grid fields should not be editable for a particular form datasource.

[ExtensionOf(formDataSourceStr(LedgerJournalTransVendPaym, LedgerJournalTrans))]

public final class YNV_LedgerJournalTransVendPaym_LedgerJournalTransDatasource_Extension


      public int active()

   {

      

      LedgerJournalTrans          LedgerJournalTrans       = this.cursor();

      VendParameters              vendParameters           = vendParameters::find();

      FormDataSource              LedgerJournalTrans_ds    = this;

      FormDataSource              LedgerJournalTrans_W_ds  = this.formRun().dataSource(formDataSourceStr(LedgerJournalTransVendPaym,LedgerJournalTrans_W ));

      LedgerJournalTrans_W        LedgerJournalTrans_W     = LedgerJournalTrans_W_ds.cursor();

      


       int ret = next active();


        if(vendParameters.YNV_EditVendPaymProposal == NoYes::Yes)

        {

            if(LedgerJournalTrans.YNV_IsPaymProposal == NoYes::Yes)

            {

                allowEditFieldsOnFormDS_W(LedgerJournalTrans_ds, false);

                allowEditFieldsOnFormDS_W(LedgerJournalTrans_W_ds, false);


                LedgerJournalTrans_ds.object(fieldNum(LedgerJournalTrans, Txt)).allowEdit(true);

                LedgerJournalTrans_ds.object(fieldNum(LedgerJournalTrans, TransDate)).allowEdit(true);

                LedgerJournalTrans_W_ds.object(fieldNum(LedgerJournalTrans_W, ServiceLevel)).allowEdit(true);

                LedgerJournalTrans_W_ds.object(fieldNum(LedgerJournalTrans_W, ChargeBearer)).allowEdit(true);

            }

            else

            {

                allowEditFieldsOnFormDS_W(LedgerJournalTrans_ds, true);

                allowEditFieldsOnFormDS_W(LedgerJournalTrans_W_ds, true);

            }

        }

        else

        {

            allowEditFieldsOnFormDS_W(LedgerJournalTrans_ds, true);

            allowEditFieldsOnFormDS_W(LedgerJournalTrans_W_ds, true);

        }

              return ret;

}


No comments:

Post a Comment

How to find country region code in D365 fo X++

 How to find the country region code in D365 for X++ LogisticsAddressCountryRegion::findByISOCode(SysCountryRegionCode::countryInfo(curext()...