Как я могу очистить данные в asp listview? - PullRequest
0 голосов
/ 04 июня 2018

Когда я использую приведенный ниже код, я удаляю датируемые значения, но структура таблицы данных все еще существует и отображает пустые поля (см. Рис.) С проводником DOM, показывающим пустую таблицу и строки таблицы.

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

lvwOutput.Items.Clear();

lvwOutput.DataSource = null;

lvwOutput.DataBind();

До

Before

После элементов.clear и источник данных = ноль

After

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Это смешно, и я считаю, что есть лучший способ сделать это, но бесконечная битва сервер / клиент делает это сложнее, чем должно быть.Мой просмотр списка, связанный с таблицей данных, называется lvwOutput.

В моем btnClear мне пришлось добавить следующее.Вы не можете скрыть элемент или очистить элементы в asp-коде на стороне сервера, чтобы это работало

ScriptManager.RegisterStartupScript(Page, GetType(), "emptyTable", "javascript:emptyTableRows(); ", true);

В моем коде javascript, который я должен был поместить следующее, это очищает код клиента

  function emptyTableRows(){
      var tableHeaderRowCount = 0;
      var table = document.getElementById('lvwOutputTable');
      var rowCount = table.rows.length;
      for (var i = tableHeaderRowCount; i < rowCount; i++) {
          table.deleteRow(tableHeaderRowCount);
      }
  }

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

lvwOutput.Items.Clear();
lvwOutput.DataSource = null;
lvwOutput.DataBind();
0 голосов
/ 05 июня 2018

Вы можете создать свойство, хранящее таблицу данных в сеансе, чтобы вы могли получить к ней доступ во время события щелчка.

DataTable dtbleDataSource
{
    get
    {
        return Session["dataSource"] as DataTable
    }
    set
    {
        Session["dataSource"] = value;
    }
}

В вашем событии вы можете сказать:

dtbleDataSource.Reset();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...