Finally I got the solution. Thanks to ChatGPT.
Put below sript to Grid > Events > onScripInit
?>
<script>
$(document).ready(function() {
var is_open = 0;
var curr_row = '';
$(document).on('click', '[id^="tbody_GRID_APP_NAME_"]', function(e) {
// Reset is_open if different Row
if (curr_row != $(this).attr('id')) {
is_open = 0;
}
// Prevent conflict if clicking directly on Arrow Icon
if ($(e.target).closest('img').length) {
return;
}
// Find Arrow Icon
var img_btn = $(this).find('img');
// On Click Row
if (img_btn.length) {
if (is_open == 1) {
img_btn.last().click();
is_open = 0;
} else {
img_btn.first().click();
is_open = 1;
}
}
// Set Current Row on Click
curr_row = $(this).attr('id');
});
});
</script>
<?php