显示数据表格位置靠

本文关键字:位置 表格 数据表 数据 显示 | 更新日期: 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事件做了类似的事情。它使您有机会测试每个单元格的值,并基于该值替换它或行中的其他单元格。在我的例子中,我用查找字符串替换了数值,并改变了背景颜色。