I've just found out that custom template <tr> id is a duplicate so in List Page they have 2 <tr>'s with exactly the same id.
This would caused problems.
My case:
I need to hide certain row.
Startup script:
$("#r2_<tablename>").hide(); // supposed I want to hide rowindex 2
It's not working on the custom template <tr>. Instead, it works on the "real" <tr>. This behavior, as per specification, is correct. Whenever there are 2 elements of same id's within the DOM, the $(id) selector will pick the first element. And... there's no way to use $(id) selector to get the second element.
I did a working workaround using $(attribute) selector.
$("[id='r2_<tablename>']").hide(); // select both <tr>'s
But at the cost of performance since $(attribute) selector is expensive.
Another workaround would be to loose the {{{row_attrs}}} from <tr> and define it's own id like <tr id="myRow_{{{i}}}">.
But it will cost the built-in row styling.
It would be great to have different <tr >id on custom template, surely still with rowindex attached into it.
Thanks.