none
使用“PagedDataSource”这样的绑定,怎样导出数据 RRS feed

  • 问题

  • 使用“PagedDataSource”这样的绑定,怎样导出数据???

    现在要导出“GridView”数据源数据,由于使用了“PagedDataSource”进行了分页,对GridView导出数据只能导出当前页数据。

    怎样导出“GridView”数据源“PagedDataSource”中的所有数据呢???

    绑定过程如下:

    PagedDataSource pds = new PagedDataSource();

      DataTable dt_bind = simulationListManager.GetSimulationLists(begintime, endtime, buildingno, metertype);
      pds.DataSource = dt_bind.DefaultView;
      pds.AllowPaging = true;
      pds.PageSize = 20;
      pds.CurrentPageIndex = (int)ViewState["Page"];
      pageCount = pds.PageCount;
      lblCurrNo.Text = (pds.CurrentPageIndex + 1).ToString();
      lblTotNo.Text = pds.PageCount.ToString();
      lblTotCount.Text = pds.DataSourceCount.ToString();
      SetEnable(imgbtnLeft, imgbtnRight, pds);
      grvSimulationList.DataSource = pds;
      grvSimulationList.DataBind();

    "GridView"分页了,直接导出只能导出当前页的数据,不能将整个数据源进行导出。。。


    Science and technology is my lover.

    2012年6月14日 6:47

答案

  • 如果一次性导出全部数据,我建议你人为在一个按钮中写如下代码:

    GridView gv = new GridView(); gv.DataSource = 全部数据(直接从PagedDataSource中获取,或者再次查询一次数据库,

    或者一开始把全部数据保存到ViewState中,此处强制转换后读取); gv.DataBind(); Response.ClearContent(); Response.AddHeader("content-disposition", "attachment; filename=MyExcelFile.xls"); Response.ContentType = "application/excel"; StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); gv.RenderControl(htw); Response.Write(sw.ToString()); Response.End(); gv=null; public override void VerifyRenderingInServerForm(Control control) { }


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年6月14日 8:47