Don't change the DataSource of your grid. It looks like you are using a typed DataSet so I assume that you are binding the grid in the designer, correct? If so then you should also have a BindingSource, where the DataTable is bound to the BindingSource and the BindingSource is bound to the grid. It's exactly for this sort of thing that the BindingSource exists. You should be handling the TextChanged event of your TextBox and doing this:
vb.net Code:
  1. myBindingSource.Filter = String.Format("First_Name LIKE '{0}%'", Me.TextBox1.Text)