First thing that comes to my mind - as I don't think there's a really easy solution (but I'd love to be wrong on this) - is to delete the column headers in your datagrid and create a table with the same column widths above your datagrid, with the header names. You can give that table a fixed position on your page and put your datagrid in a div with a fixed height + overflow-y: scroll.
Goodluck! And I'm looking forward to other answers to this problem :)
Another option might be to use the datatables widget, its a bit more work to configure but has a infinte scroll option!
Depending on the way your page is constructed, it could be done with default Mendix functionality. The only but it: your datagrid needs to be the first item on your page or it should be placed in a tabcontainer which is the most outer item on your page, without anything else wrapping around it.
These days new pages (since Mendix 5.18) always get a container around them when you first create them from the Modeler. If you don't need it and have the possibility of removing them so that your datagrid is the only thing on your page, this should work out of the box.