高分求datagrid操作的简单的问题,会者很易!

mint 2009-11-20 02:22:13
我需要动态在后台生成datagrid,删除其中的部分列,然后导出到excel:

DataGrid gvTemp = new DataGrid();
this.Controls.Add(gvTemp);
gvTemp.ID = this.ClientID + "gvTemp";

gvTemp.AllowPaging = false;
gvTemp.AllowSorting = false;

// gvTemp.Visible = false;
gvTemp.AutoGenerateColumns = true;
gvTemp.Width = Unit.Pixel(800);
gvTemp.DataSourceID = myDataSourceID;
gvTemp.DataBind();
StringWriter twWriter = new StringWriter();
HtmlTextWriter myWriter = new HtmlTextWriter(twWriter);
gvTemp.RenderControl(myWriter);
然后,我需要根据列名来做删除,此时,我发现取不到列名 :
for (int i = 0; i < gvTemp.Columns.Count; i++)
{
if (gvTemp.Columns[i].HeaderText== item.ColumnName)
{
gvTemp.Columns.RemoveAt(i);
break;
}

}
此时 :gvTemp.Columns.Count为零,而gvTemp中的Items是正常的,也就是说,有对应的内容。此datagrid显示出来的结果包含全部的头和内容,但就是不能在程序中直接找到头部,进行删除。
请问应当如何做?
高分!!!!
...全文
67 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wapit 2009-11-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jshi123 的回复:]
自动生成的column无法通过columns属性取得,你可以在帮定前从数据源中删除column [/Quote]
顶这个。我被自动生成的column整惨过……现在基本不敢用了
heheerwa 2009-11-20
  • 打赏
  • 举报
回复
菜鸟发问:
StringWriter这个类用来做什么??
jshi123 2009-11-20
  • 打赏
  • 举报
回复
自动生成的column无法通过columns属性取得,你可以在帮定前从数据源中删除column

DataGrid gvTemp = new DataGrid();
this.Controls.Add(gvTemp);
gvTemp.ID = this.ClientID + "gvTemp";

gvTemp.AllowPaging = false;
gvTemp.AllowSorting = false;

// gvTemp.Visible = false;
gvTemp.AutoGenerateColumns = true;
gvTemp.Width = Unit.Pixel(800);

DataTable dt = (myDataSource.Select(new DataSourceSelectArguments()) as DataView).Table;

//根据列名来做删除:
for (int i = 0; i < dt.Columns.Count; i++)
{
if (dt.Columns[i].ColumnName == item.ColumnName)
{
dt.Columns.RemoveAt(i);
break;
}
}

//gvTemp.DataSourceID = myDataSourceID;
gvTemp.DataSource = dt;
gvTemp.DataBind();
StringWriter twWriter = new StringWriter();
HtmlTextWriter myWriter = new HtmlTextWriter(twWriter);
gvTemp.RenderControl(myWriter);
zhong2006 2009-11-20
  • 打赏
  • 举报
回复
item.ColumnName??这段代码是在什么事件里面,估计你前面还有对行的类型进行过判断

62,025

社区成员

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

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

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

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