显示数据表格位置靠
本文关键字:位置 表格 数据表 数据 显示 | 更新日期: 2023-09-27 17:49:18
我在gridview中显示了三个字段。根据第一个字段的值,我必须显示或隐藏第二个两个字段。
下面的代码是我到目前为止尝试过的,但我不知道如何得到完整的解决方案。
谁来看看好吗?
三个字段为
1) activeStatus
2) DateMadeInactive
3)评论 protected void GridView1_RowDataBound( object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
bool activeStatus=Convert.ToBoolean(DataBinder.Eval(e.Row.DataItem,"Active"));
if(activeStatus)
{
// I need to display the activeStatus columns
}
else
{
// I need to hide activeStatus Column and Display the DatemadeInactive and Comments
}
}
}
可以在模板字段中设置条件:
<asp:GridView ... runat="server">
<Columns>
... your other fields ...
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<asp:Label Text='<%# (bool)Eval("Active")
? Eval("activeStatus")
: Eval("DateMadeInactive", "Inactive since {0}") %>'
runat="server"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我从你的问题收集的是你想知道如何隐藏或显示任何给定的列在DataGridView。如果是这样,您只需要将列添加到DataGridView中,无论是使用数据源还是手动添加,然后通过执行以下操作隐藏您不想要的任何列:
dataGridView1.Columns["YourColumnName"].Visible = false;
我使用CellFormatting事件做了类似的事情。它使您有机会测试每个单元格的值,并基于该值替换它或行中的其他单元格。在我的例子中,我用查找字符串替换了数值,并改变了背景颜色。