Экспорт всех строк постраничного ListView в Excel - PullRequest
0 голосов
/ 06 марта 2011

В веб-формах ASP.NET 4.0 я пытаюсь экспортировать постраничный элемент управления ListView в файл Excel, отключив источник данных ListView (грузовики):

dsTrucks.EnablePaging = false;

Для ListPage без пейджингауправления, я могу заставить его работать.

Вот попытка «разгрузить страницу» и затем экспортировать элемент управления ListView:

    // Nuke the current page.
    Response.Clear();

    // Setup the response header.
    Response.Buffer = true;
    Response.AddHeader("content-disposition", "attachment; filename=Trucks.xls");
    Response.ContentType = "application/vnd.ms-excel";
    Response.Charset = "";

    // Turn off view state.
    this.EnableViewState = false;

    // Create a string writer.
    var stringWriter = new StringWriter();

    // Create an HTML text writer and give it a string writer to use.
    var htmlTextWriter = new HtmlTextWriter(stringWriter);

    // Disable paging so we get all rows.
    dsTrucks.EnablePaging = false;

    // Render the list view control into the HTML text writer.
    listViewTrucks.DataBind();
    listViewTrucks.RenderControl(htmlTextWriter);

    // Grab the final HTML out of the string writer.
    string output = stringWriter.ToString();

    // Write the HTML output to the response, which in this case, is an Excel file.
    Response.Write(output);
    Response.End();

Там нет ошибки, но вывод в файл Excelэто всего лишь одна страница элемента управления ListView вместо всех строк.

Есть идеи, с чего начать, чтобы это заработало?

Спасибо, Адам

1 Ответ

0 голосов
/ 07 марта 2011

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

Возможно, вы могли бы установить для параметра PageSize значение MAXINT и объединить все результаты на одной странице?

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