GridView那点事之【隐藏某列字段】

来源:互联网 发布:户型改造软件 编辑:程序博客网 时间:2024/06/06 19:17

    通常,我们希望GridView表中不要显示编号ID这一列,因为有时候ID号很令用户费解。当然如果ID是用户的学号、工号这类的来表示,那么可以允许显示给用户,因为用户知道自己的学号、工号、会员号呀。但有时候我们开发一个程序不用这些作为ID号的时候,那么我们就必须让其不显示,那么就将它隐藏掉呗。

【方法一】

采用SQL语句select 语句时候,不选择查询显示ID。在GridView中也不在添加ID号这一列,那么它就不会显示了。

【方法二】

但是有时候,我们不得不需要ID号这列,以为后面的删除、更改等操作可能需要用到。有人可能说了,那还不简单,直接采用Visible属性,设置为false就可以啦。当事实并非那么简单。如果您在后台程序绑定显示数据源处就设置隐藏,那么后面的删除、更新等操作(需要使用ID号的where语句)。 那么直接隐藏就会发生错误了。

例如下面这样做行不通,尽管效果是实现了,但是不利于后面的附加删除等操作:(当然,如果您后面仅仅是显示不需要更改数据表等操作就可以采用这种方法)

if(ds.Tables.Count>0&&ds.Tables[0].Rows.Count>0)

{

      GridView1.DataSoure=ds;

      GridView1.DataBind();

      e.Row.Cells[0].Visible=false;

}

那么,我们应该怎么实现呢?我们为了隐藏掉的ID字段值依然对后面的使用有效,则应该在GridView中显示样式进行删除:举例如下>>>>>>>>

             if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.Header)
            {
                e.Row.Cells[0].Visible = false;//我们通常采用这种方法来将该列隐藏。【建议采用】
            }

****************************************************************************************************************************************************************************

 if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.Header)
            {
                e.Row.Cells[0].Visible = false;
            }

原创粉丝点击