Embedded List Add or New Button

Radhika Aluru1
Mega Contributor

Hi All,

I have added an embedded list to a form. When user want to add any record in that related table, he needs to go through the Insert New Row and edit the entered record. In the normal related list, we can see New button. I searched in embedded list control and there is no option to set New or add button unlike in related list control.

I can see the Add button from the attachment of the below forum post.

Embedded Lists

Is there any setting that I need to modify to see the Add button in the embedded list?

Regards,
Radhika

1 ACCEPTED SOLUTION

Here is the UI macro code that we have created. I have used the sample code from SNC guru to open the popup and added little bit of code to pass the values to the dialog form



<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
    <g:evaluate var="jvar_guid" expression="gs.generateGUID(this);" />
    <j:set var="jvar_n" value="add_${jvar_guid}:${ref}"/>
                <img border="0" src="add.gifx" title="${gs.getMessage('Add')}" alt="${gs.getMessage('Add')}" onclick="addEditUserPopopt('${ref}')"/>
          <script>
          //OnClick function for UI macro


          function addEditUserPopopt(reference){
               
                var v = gel('sys_uniqueValue').value;


if(v == ''){
                      var dialog = new GlideDialogForm('Add, your table name',saveOriginalForm);
                      dialog.setSysID('-1'); //Pass in -1 to create a new record
                }
               
                else{
         
               
                      var dialog = new GlideDialogForm('Add ', 'your table name',saveOriginalForm);
                      dialog.setSysID(-1); //Pass in reference sys_id to edit record
                }
                dialog.addParm('sysparm_view', 'default'); //Specify a form view
                dialog.addParm('sysparm_form_only', 'true'); //Remove related lists
             


                //Callback function executed from dialog submit
             
dialog.setLoadCallback(function(iframeDoc) {
var dialogFrame = 'defaultView' in iframeDoc ? iframeDoc.defaultView : iframeDoc.parentWindow;
var interval;
var count = 0;
interval = setInterval(function() {
try {
if (dialogFrame.g_form) {
dialogFrame.g_form.setValue('related field', v);
clearInterval(interval);
dialogFrame = null;
} else if (count > 50) {
clearInterval(interval);
dialogFrame = null;
}
}catch (e) {
clearInterval(interval);
dialogFrame = null;
}
count++;
}, 200);
});
dialog.render(); //Open the dialog
                }
function saveOriginalForm(action){
g_form.save();
}        
    </script>
</j:jelly>


View solution in original post

20 REPLIES 20

shamil-ibrahim
Tera Expert

Hello All,

 

I have the solution.

 

Please add that list as a related list on the form before making it as embedded list. Then u will get all the options in the "List Control" of the related list.

Make the changes you needed there as you will find the field to enable the Insert New Row option.

After saving the list control, remove that related list from the form and add that back as an embedded list.