 <p>Notes :</p> <ol> <li>Query optimization and indexing the search traget tables</li> <li>datagrids are complex objects and get time in updating and filling its ordinary( spcially when have more column ) </li> <li>your System hardware (Ram , CPU ,VGA, ... ) that must be considered</li> <li><p>i think best approach is sort your query result and paging your result by Last code accessed and use this :</p> <p>void NextPage()<br> {<br> Qr="select Top N from tbl where Code>LastCode order by Code asc";<br> //reading data<br> FirstCode=Drr["Code"];//for first record result<br> LastCode=Drr["Code"];//for last record result<br> }<br> void PreviousPage()<br> {<br> Qr="select Top N from tbl where Code &lt; FirstCode order by Code asc"; </p> <p>//reading data </p> <p>FirstCode=Drr["Code"];//for first record result<br> LastCode=Drr["Code"];//for last record result<br> }</p></li> </ol> <p>Hope this Help</p>