如果网格视图不返回任何数据,则隐藏 asp 标签
本文关键字:隐藏 asp 标签 数据 任何 网格 视图 返回 如果 | 更新日期: 2023-09-27 18:35:22
如果网格不返回任何数据,如何隐藏标签我试过了。下面,但不确定它是否正确。
<asp:Label runat="server" Text="Device Information " id="DeviceInformation"></asp:Label>
protected void GridView3_DataBound(object senwder, EventArgs e)
{
int rowCount = GridView3.Rows.Count;
if (rowCount == 0)
{
DeviceInformation.Visible= False;
}
else
{
DeviceInformation.Visible= True;
}
}
还有其他解决方案吗?
在这种情况下,
由于没有行,因此 RowDataBound 事件不会触发,因为它是在将行添加到网格视图时触发的,您可以在将数据源分配给网格视图时隐藏标签:
gridView1.DataSource = SomeSource;
gridView1.DataBind();
if(gridView1.Rows.Count == 0)
{
// hide label here
}
你可以
像这样对GridView进行数据绑定事件:
protected void gr_DataBound(object sender, EventArgs e)
{
DeviceInformation.Visible = GridView3.Rows.Count > 0;
}
注意:我看到您的标签不是网格视图的项目,所以我这样写。如果标签是网格视图的项,则应使用 FindControl 方法来查找并设置其可见属性。
Label lblDeviceInformation = (Label)GridView3.FindControl("DeviceInformation");
int rowCount = GridView3.Rows.Count;
if (rowCount == 0)
{
lblDeviceInformation .Visible= False;
}
else
{
lblDeviceInformation .Visible= True;
}