gridview动态绑定列后,为什么导出excel后,gridview那就是空白的?

weasea 2009-12-04 10:04:48
public void SetBindMaching()
{
DataTable dt = GetMachingDataTable(); //获得数据源

gvshow = new GridView();
gvshow.Width = Unit.Pixel(700);

gvshow.AutoGenerateColumns = false;
gvshow.RowCreated += new GridViewRowEventHandler(GridView1_RowCreatedMaching); //添加编辑事件,动态生成头。

gvshow.DataSource = dt;

for (int i = 0; i < dt.Columns.Count; i++)
{
BoundField bc = new BoundField();
bc.DataField = dt.Columns[i].ColumnName.ToString();
// bc.HeaderText = dt.Columns[i].Caption.ToString();
gvshow.Columns.Add(bc);
}

gvshow.DataBind();
divshow.Controls.Add(gvshow);

//这儿导出excel
Export(gvshow,"application/ms-excel", "Maching.xls");//执行以后 本来有内容的gridview一片空白

}


protected void GridView1_RowCreatedMaching(object sender, GridViewRowEventArgs e)
{
switch (e.Row.RowType)
{
case DataControlRowType.Header:
//第一行表头
TableCellCollection tcHeader = e.Row.Cells;
tcHeader.Clear();
//tcHeader.Add(new TableHeaderCell());
//tcHeader[0].Attributes.Add("rowspan", "3"); //跨Row
//tcHeader[0].Attributes.Add("bgcolor", "white");
//tcHeader[0].Text = "";
tcHeader.Add(new TableHeaderCell());
tcHeader[0].Attributes.Add("colspan", MachingLen.ToString() + 1); //跨Column
tcHeader[0].Attributes.Add("bgcolor", "Silver");
tcHeader[0].Text = "Pegasus Query</th></tr><tr>";

//第二行表头
tcHeader.Add(new TableHeaderCell());
tcHeader[1].Attributes.Add("rowspan", "2"); //跨Row
tcHeader[1].Attributes.Add("bgcolor", "DarkSeaGreen");
tcHeader[1].Attributes.Add("length", "12");
tcHeader[1].Text = "序列号 <br/>Load Cell ID";

int TotalCallNum = 1;//总共调用次数
int iOffset = TotalCallNum + 2; //初始Offset=调用数量+3
AddMachingProcHeader(tcHeader, 1, MachingLen, true);//创建头
AddMachingProc(tcHeader, 1, ref iOffset, MachingLen, true);

break;


}
}
...全文
169 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
weasea 2009-12-05
  • 打赏
  • 举报
回复
up......
weasea 2009-12-04
  • 打赏
  • 举报
回复
private void Export(GridView GridView1,string FileType, string FileName)
{
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
Response.ContentType = FileType;
this.EnableViewState = false;
StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
GridView1.RenderControl(hw);
Response.Write(tw.ToString());
Response.End();
}
wuyq11 2009-12-04
  • 打赏
  • 举报
回复
Export(gvshow,"application/ms-excel", "Maching.xls");
在按钮列导出是否正常
应该是页面回传,控件丢失
flowerjack 2009-12-04
  • 打赏
  • 举报
回复
来学习的

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧