It is possible<BR>Use the datareader to count how many records you have in total.<BR>You already know how many records you display per page, because you set the value.<BR>Then when a user clicks a page number you take that and multiply it by the page size and add 1 to get the 1st record that needs to be displayed in the grid. You fill your datareader and read() that many times and then set the datagrid.datasource = to the datareader, and there you go.
If you want to do what you are proposing, you would need two datareaders. If you want to count how many records are in the reader, you would have to loop through all the records. Then when you want to go to the specific record, you would have to backtrack to the record number. You cannot backtrack when using a forward only cursor.<BR><BR>If you want to use paging with a datagrid, you have to use the DataAdapter / DataSet method.