Data Table (SPDataTable0) on Change function

Hello i am trying this block of code below on change data table (SPDataTable0) is not working:

function CheckNationalityIfBlank() {
    fd.control("SPPersonRecordsDT").ready().then(function () {
        if (fd.control('SPPersonRecordsDT').value.length === 0) {
            //alert('List is cleared');
            fd.field('PersonIsNotLebanease').value = false;
            fd.field('PersonPrimaryNationality').clear();
            fd.field('PersonPrimaryNationalityID').clear();
            fd.field('PersonMultipleNationality').clear();
            fd.field('PersonVillageRegistry').clear();
            fd.field('PersonVillageRegistryTxt').clear();
            fd.field('PersonCazaRegistry').clear();
            fd.field('PersonProvinceRegistry').clear();
            fd.field('PersonStateRegistry').clear();
            fd.field('PersonNumberOfRegistry').clear();
        }
    });
}

fd.control('SPPersonRecordsDT').$on('change', CheckNationalityIfBlank);

what i am trying to achieve is:
I need to check on change of data table (SPDataTable0) if still has values, if not i need to clear some controls in main form.
note that the data table is edited in dialogue mode not inline.

kindly advise.

Hello @gkhadra,

Please use the below code to run function if items count in 'List or Libary' control equals '0'.

fd.spRendered(function() {

function CheckNationalityIfBlank() {
    setTimeout(function(){ 
        if (fd.control('SPPersonRecordsDT').widget.dataItems().length === 0) {
            //alert('List is cleared');
            fd.field('PersonIsNotLebanease').value = false;
            fd.field('PersonPrimaryNationality').clear();
            fd.field('PersonPrimaryNationalityID').clear();
            fd.field('PersonMultipleNationality').clear();
            fd.field('PersonVillageRegistry').clear();
            fd.field('PersonVillageRegistryTxt').clear();
            fd.field('PersonCazaRegistry').clear();
            fd.field('PersonProvinceRegistry').clear();
            fd.field('PersonStateRegistry').clear();
            fd.field('PersonNumberOfRegistry').clear();
        } 
    }, 1000);
    
}

fd.control("SPPersonRecordsDT").ready().then(function () {
    fd.control('SPPersonRecordsDT').$on('change', CheckNationalityIfBlank);
});

});
2 Likes

Dear @mnikitina,
Really a big thanks from the bottom of my heart it worked perfectly

1 Like