I hope you meant to hide them… deleting database rows when viewing a GridField seems absurd to me.
Just adding the d-none
class should hide the row from the front end but the row is still present, so other GridField components (e.g. pagination) will act weirdly.
I’d also like to point out this question is changing at every answer, so please try to focus on what you really need. I have the feeling you are trying to reimplement your own Model-level permission when a simple canView
function in the proper DataObject
would have solved everything.