Поскольку GridView работает с одиночным выбором, как вы позволяете им выбирать значения в первую очередь на клиенте или сервере? Если на клиенте, вы можете использовать JavaScript для этого; просто сохраните массив выбранных строк таблицы, если длина равна трем, затем блокируйте добавление в массив, пока пользователь не отменит выбор ...
Пожалуйста, обновите, как вы делаете это, и я могу опубликовать дальше.