gridview隐藏列的几种方法

本文介绍了五种在ASP.NET中隐藏GridView列的方法,包括在数据绑定完成后设置、RowCreated事件中处理、通过数据集映射、直接设置Column.Visible属性以及结合CheckBoxList动态控制列的显示隐藏。适用于根据条件调整GridView显示的需求。

如果要对gridview的某个列根据条件隐藏或者隐藏不必要的列

一、简单方法:

GridViewBrandgridview控件,要对第3列进行现在,就可以在gridview数据绑定完成之后这样写:
   if (...)
            {
                GridViewBrand.Columns[2].Visible = false;
            }

目前我觉得这是最简洁的方法。
二、在RowCreated事件中书写如下代码:

  void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
  {
  if (e.Row.RowType == DataControlRowType.DataRow ||
  e.Row.RowType == DataControlRowType.Header)
  {
  e.Row.Cells[0].Visible = false; //如果想使第1列不可见,则将它的可见性设为false
  }
  //可以根据需要设置更多的列
  }
  因为在RowCreated事件(隐藏)在绑定时候发生,所以这样就即能将数据绑定到列上,又隐藏了该

.所以可以访问到隐藏列的值。

三、另外一个可以将数据绑定到GridView控件的方法:

Public void myTestFunction()
  {
  string conString="....";//省略
  string sqlquery="...";//省略
  SqlConnection con = new SqlConnection(conString);
  SqlDataAdapter da = new SqlDataAdapter(sqlquery, con);
  DataSet ds = new DataSet();
  da.Fill(ds);
  ds.Tables[0].Columns[0].ColumnMapping = MappingType.Hidden;
  GridView1.DataSouce = ds.Tables[0];
  GridView1.DataBind() ;
  }

四、据说可以通过 FooterStyle-CssClass HeaderStyle-CssClass ItemStyle-CssClass样式

控制来隐藏,但我今天没有测试出来,如果有谁做过,请告诉我。谢谢。

五.自己总结的 隐藏列在if (!IsPostBack)中写

GridView1.Columns[10].Visible = false;

   显示:使用CheckBoxList  使其AutoPostBack="True" 然后在

        protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e)

        {

            if (this.CheckBoxList1.Items[0].Selected==true)

            {

                GridView1.Columns[10].Visible = true;

            }

 

            if (this.CheckBoxList1.Items[0].Selected == false)

            {

                GridView1.Columns[10].Visible = false;

            }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值