Cannot read properties of undefined on button click after deleting selected rows

Cannot read properties of undefined on button click after deleting selected rows .After deleting or adding rows , when i click on row button it is showing undefined , after refreshing the page it is working correctly after refreshing the page im able to get row data but i need without refreshing the page.

db.collection("Users").where("tokens", "array-contains", token).get().then(function (querySnapshot) {
    querySnapshot.forEach(function (doc) {
        console.log(doc.data().uid);
        console.log(key);
       if(doc.data().uid == key)
       {
            $(document).ready(function() {
            let ics=[];
            db.collection("icdetails").where("ownerid", "==", key).onSnapshot(function (querySnapshot) {
            querySnapshot.forEach(function (doc) {
                
                ics.push(doc.data());
                console.log(ics)
            })
                        var table =  $('#groupAlphaList').DataTable({
                destroy: true,
                responsive: true,
                dom: 'Bfrtip',
                    buttons: [
                      
                        'copy', 'csv', 'excel', 'pdf',
                        {
                            text: 'Delete',
                            action: function ( e, dt, node, config ) {
                              var count = $('#groupAlphaList').DataTable().rows( '.selected' ).count();

                              var checked_rows = $('#groupAlphaList').DataTable().rows( '.selected' ).data();
                              
                              for(var i=0; i<checked_rows.length; i++)
                              {
                                console.log( checked_rows[i].email);
                                var jobskill_query = db.collection('icdetails').where('email','==',checked_rows[i].email);
                                  jobskill_query.get().then(function(querySnapshot) {
                                  querySnapshot.forEach(function(doc) {
                                      doc.ref.delete();
                                  });
                                  });       
                              }
                              //  DeleteData()
                            }
                        },
                    ],
                data: ics,
                
                columnDefs: [ {
                    orderable: false,
                    className: 'select-checkbox',
                    targets:   0
                } ],
                select: {
                    style:    'multi',
                    selector: 'td:first-child'
                },
                order: [[1, 'asc']],
                columns : [
                         { "data": null, defaultContent: '' },
                        { "data" : "name" },
                        { "data" : "phone" },
                        { "data" : "iscore" },
                        { "data" : "email" },
                        { "data" : "designation" },
                        {
                            "data": null,
                            "bSortable": false,
                           "mRender": function (o) {
                            
                            return '<button class="viewbutton">View <i class="fa fa-edit"></i></button>'; }
                        },
                        
                        { "data" : "date" }
                        ],
                        }) 
                       $('#groupAlphaList tbody').on('click', '.viewbutton', function () 
{
                                var current_row = $(this).parents('tr');
                                if (current_row.hasClass('child')) {
                                    current_row = current_row.prev();
                                }
                                var data = table.row(current_row).data();
                                console.log('Row data:'+data.name);
                            });
                        
                ics=[];   
               
                  
            });
            

            });
       }
    });
  });

After deleting or adding rows , when i click on row button it is showing undefined , after refreshing the page it is working correctly after refreshing the page im able to get row data but i need without refreshing the page