日期:2014-05-18  浏览次数:20507 次

gridview让指定的列隐藏
如题,我是通过传入sql语句,显示在gridview上,由于,我想通过id来排序,但我又不想id显示在gridview上,所以select 语句就写成;select id,name,position from admin where position>1 order by id,但只有这样才可以通过ID排序,但我不行ID显示在gridview上,所以想到隐藏它,请问怎么弄呢?谢谢。

------解决方案--------------------
Visible=false
或者css
style="display:none"

如绑定时候设置
e.Row.Cells[0].Visible=false;
e.Row.Cells[0].Attributes.Add("style","display:none");
------解决方案--------------------
C# code
总结一下Gridview隐藏列的问题,下面说两种方法:
     就是直接让你得到的数据表里面的那一列不给他绑定值、确保你Table里面包含这列数据,比如把你要查询出来两列:name;id,你现在只想显示name,不显示id,但是后台代码还要用到id的值的时候,就直接查询出来,把name绑定到Gridview上的一列,然后设置Gridview的DataKeyName="id",然后在后台取值的时候直接取值就可以了,例如要取得第一行的id的值就直接GridView1.DataKeys[1]["id"] 就可以了,
   方法二:
  在 GridView1_RowCreated 事件里面直接写入:if (e.Row.RowType == DataControlRowType.DataRow || 
                        e.Row.RowType == DataControlRowType.Header)
                         {
                           e.Row.Cells[0].Visible = false; //如果id是第一列,则将它的可见性设为false ,
                         } 
取值的时候直接e.Row.Cells[0]就可以了

------解决方案--------------------
GridView1.Columns[0].Visible = false;假如id是第一列