vs2010的GridView如何隐藏某一列的值
vs2010的GridView如何隐藏某一列的值
使用gridview控件连接数据库后,照片列我只想显示相应的照片,照片原始路径没必要显示。在不影响照片显示的同时,隐藏该列,可以参照以下的步骤,亲测有效!
原本页面效果
对aspx内容进行添加
首先找到对应的
<asp:GridView ID=“GridView1” runat=“server” AllowPaging=“True” OnPageIndexChanging=“GridView1_PageIndexChanging” PageSize=“5” >
在里面加入"onrowcreated=“GridView1_RowCreated”,作为后台代码的响应事件。
添加后效果应该是:<asp:GridView ID=“GridView1” runat=“server” AllowPaging=“True” OnPageIndexChanging=“GridView1_PageIndexChanging”
PageSize=“5” onrowcreated=“GridView1_RowCreated”>
查看列所对应的索引值
根据页面中显示的列,一共有九列,“照片”字段对应的是第九列,但索引值为8(索引从0开始)。选择好对应索引后进行下一步操作。
对aspx.cs内容进行添加(无分页)
后台代码的名称要和前面设置的相一致。另外,如果你的页面不存在数据分页情况,则使用以下办法:
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (
e.Row.Cells[8].Visible = false;
}
将索引为8的列设置为不可见,即隐藏起来。
对aspx.cs内容进行添加(有分页)
另外一种情况,如果你的页面存在数据分页情况,需要另外添加一行代码,否则将会报错!尝试使用以下办法:
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.Header)
e.Row.Cells[8].Visible = false;
}
保存运行
最后别忘了将代码保存起来!然后选择浏览器打开~预祝你成功,无bug!!!
结果显示
操作后就把对应列隐藏起来啦~~