如何隐藏数据绑定后gridview的列?(How to hide gridview column a

2019-08-01 07:35发布

我躲在我的专栏使用以下链接解决方案

如何隐藏在GridView为TemplateField列

然而,这会导致更新操作的问题,因为GridView控件作为隐藏的行具有空值。 因此,如何隐藏数据绑定后列?

protected void begv_OrderDetail_RowCreated(object sender, GridViewRowEventArgs e)
{
    ((DataControlField)begv_OrderDetail.Columns.Cast<DataControlField>().Where(fld => fld.HeaderText == "FileNo").SingleOrDefault()).Visible = "False";
}

Answer 1:

试试这个,

grid1.Columns[columnIndex].Visible= false;

根据提问者的评论编辑,用于获取隐藏列的值

您可以使用隐藏字段来存储逐列值。 本文章有例子,这将有助于如何使用隐藏域。

而是隐藏列的你可以把列的数据DataKeyNames中,以便日后访问这些值。 这将是抓住了如何使用有用的DataKeyNames 。 通过这种方法,你可能需要通过从数据键名称中的ID并获得备案。



Answer 2:

尝试这个例子,(我不会说英语)

成的RowDataBound ...

 protected void gvTeste_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            teste listaTeste = e.Row.DataItem as ListaTeste;

            if (listaTeste.ID == 0)
            {
                e.Row.Cells[2].Text = "Não Atribuido";
            }

            if (e.Row.Cells[7].Text == "01/01/0001" || e.Row.Cells[8].Text == "01/01/0001")
            {
                **e.Row.Visible = false;** // disable row
            }
        }
    }


文章来源: How to hide gridview column after databind?