Как заставить gridview заполняться только после ввода информации?

#gridview #webforms

#gridview #веб-формы

Вопрос:

Я уверен, что это невероятно просто, но у меня есть gridview, tableadapter, objectdatasource и текстовое поле.

Когда я запускаю страницу, я получаю:

Значение не может быть нулевым. Имя параметра: постоянный

Это потому, что в моем запросе есть параметр, который он ищет в текстовом поле. Если я вручную ввожу данные для текстового значения textbox и загружаю страницу, запрос выполняется нормально.

Как мне сделать так, чтобы запрос выполнялся только после ввода данных в мое текстовое поле? Я не хочу, чтобы запрос выполнялся, пока кто-нибудь не введет что-нибудь для поиска. Я просмотрел все свойства и не увидел ничего очевидного.

Спасибо.

Ответ №1:

Не зная каких-либо существенных подробностей о вашей настройке, я бы сказал, что вам нужно использовать какое-то событие и оператор if. Я бы создал кнопку, которая проверяет, что что-то существует в текстовом поле, а затем обрабатывает запрос. Я предполагаю, что вы используете ASP.NET. Вы можете использовать TextBox.Text.Length для проверки длины текста в текстовом поле.

Что-то вроде этого:

 private void bSearch_Click(object sender, EventArgs e)
{
    if(tbSearchBox.Text.Length > 0)
    {
          doQuery(tbSearchBox.Text);
    }
}
  

Конечно, если ваше конкретное использование требует этого, вы всегда можете поместить это в событие изменения текста, чтобы оно выполняло запрос для каждого введенного нового символа.