when i needed similar function did a workaround by giving option to select a range. It works like this: if there are 50 records show across 5 pages, 10 in each -> and after user selects record 8 and 12, then clicking this button 'select range' selects 8,9,10,11,12. If he clicks again then it selects more from 13, ...till it keeps finding unselected and until the next selected is found. Remember to use xpath and not association to display the grid if taking this approach.
have you tried the Keyboard Shortcut widget?
Unfortunately I don't think that it can be used for the selection in a datagrid, but maybe it will come in handy for other purposes within your project!