请教一个GridView的问题

hb9191 2013-05-17 11:18:18
环境:VS2010,asp.net,C#

把GridView当变量用时,总共6列n行,
删除一列GridView.RemoveAt(3)后,
GridView.Columns.Count=5,
但是表头行和数据行的列数(单元格数)没有变化?!
GridView.HeaderRow.Cells.Count=6
GridView.Rows[0].Cells.Count=6

请问,这是为什么?怎么能把这列都删掉?
谢谢!
...全文
159 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
EnForGrass 2013-05-17
  • 打赏
  • 举报
回复
引用 楼主 hb9191 的回复:
环境:VS2010,asp.net,C# 把GridView当变量用时,总共6列n行, 删除一列GridView.RemoveAt(3)后, GridView.Columns.Count=5, 但是表头行和数据行的列数(单元格数)没有变化?! GridView.HeaderRow.Cells.Count=6 GridView.Rows[0].Cells.Count=6 请问,这是为什么?怎么能把这列都删掉? 谢谢!
既然要删除列,那为什么不在绑定的时候就不显示呢,
冰川711 2013-05-17
  • 打赏
  • 举报
回复
引用 4 楼 hb9191 的回复:
[quote=引用 1 楼 qq353641719qq 的回复:] GridView1.Columns.RemoveAt(3); 后面加上 GridView1.DataBind();
不行,DataBind()后数据行都没了![/quote] 那是你的代码有问题 最好 把代码都放上来看看
H_Gragon 2013-05-17
  • 打赏
  • 举报
回复
帮顶!
hb9191 2013-05-17
  • 打赏
  • 举报
回复
引用 1 楼 qq353641719qq 的回复:
GridView1.Columns.RemoveAt(3); 后面加上 GridView1.DataBind();
不行,DataBind()后数据行都没了!
md5e 2013-05-17
  • 打赏
  • 举报
回复
GridView1.Columns.RemoveAt还是GridView.RemoveAt(3)?
qq353641719qq 2013-05-17
  • 打赏
  • 举报
回复
GridView1.Columns.RemoveAt(3); 后面加上 GridView1.DataBind();
liu_lxx 2013-05-17
  • 打赏
  • 举报
回复
还不如用Table里面套Repeater..传个Table过来好操作的多!
insus 2013-05-17
  • 打赏
  • 举报
回复
Gridview只是用来显示数据,当你删除一笔记录,是删除数据源的数据,当数据源的数据没有那一笔记录了,在GridView中再不会显示那笔记录。
hb9191 2013-05-17
  • 打赏
  • 举报
回复
传过来所有单元格的数据都在,但Gridview1.DataSource=null
hb9191 2013-05-17
  • 打赏
  • 举报
回复
gridview是在别的页面生成的,用session传到这个页面用,要删除某些列,加工一下后生成js脚本用用友华表cell显示。
liu_lxx 2013-05-17
  • 打赏
  • 举报
回复

测试了下:移除后重新绑定。
 protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
Data_Bind();
}
}
private void Data_Bind()
{
string sql_str = "SELECT * FROM YH_GS";
DataSet ds = WebFunction.dataSet(sql_str);
Gv_gsinfo.DataSource = ds;
Gv_gsinfo.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
Gv_gsinfo.Columns.RemoveAt(3);
Data_Bind();
Response.Write(Gv_gsinfo.Rows.Count+"<br/>");
Response.Write(Gv_gsinfo.HeaderRow.Cells.Count+"<br/>");
Response.Write(Gv_gsinfo.Rows[0].Cells.Count);
}

下面是效果图:点击前
点击后

62,052

社区成员

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

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

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

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