بایستی با if چک کنید در صورتی که محتوای تکست باکس ها خالی نبود عبارت مورد نظر رو به رشته فیلتر اضافه کنید.(در انتها رشته همیشه درست 1=1 رو به رشته فیلتر اضافه کردیم تا به and آخر رشته خطا نگیره):
string filter = string.Empty;
if (txtName.Text.Trim() != string.Empty)
{
filter += "name like '%" + txtName.Text.Trim() + "%' and ";
}
if (txtLastName.Text.Trim() != string.Empty)
{
filter += "lastname like '%" + txtLastName.Text.Trim() + "%' and ";
}
// check another textboxes
filter += " 1=1 ";
dt.DefaultView.RowFilter = filter;