One thing to remember (assuming the gridview displays information from a database)
If your result of the query contains thousands of rows, you should use a paging mechanism in the query (and not in the gridview). The side effect will be that a search in the gridview might not reveal records that exist in the database but not in the gridview. You will have to query the database again when the user clicks the 'search' button.